Comment utiliser la fonction de réplication de MySQL pour réaliser la sauvegarde des données et la reprise après sinistre
Introduction :
MySQL est un système de gestion de base de données relationnelle couramment utilisé dans les applications pratiques, afin de garantir la sécurité et la haute disponibilité des données, la sauvegarde des données et la reprise après sinistre sont souvent utilisées. travaux de reprise après sinistre. La fonction de réplication de MySQL peut réaliser une sauvegarde des données et une reprise après sinistre. Cet article explique comment utiliser la fonction de réplication de MySQL pour réaliser une sauvegarde des données et une reprise après sinistre, avec des exemples de code.
1. Introduction à la fonction de réplication
La fonction de réplication de MySQL est implémentée via le journal binaire (Binary Log). En termes simples, la fonction de réplication enregistre toutes les opérations d'écriture de la base de données principale dans le journal binaire, puis relit ces opérations à partir de la base de données secondaire en fonction des informations du journal binaire, garantissant ainsi que les données de la base de données secondaire sont cohérentes avec les base de données primaire.
2. Configurez la base de données principale
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -- '%'代表允许来自任意IP地址访问 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
log-bin=mysql-bin
Puis redémarrez le service MySQL.
SHOW MASTER STATUS;
Enregistrez les valeurs des champs Fichier et Position, qui seront utilisées dans la base de données.
3. Configurez la base de données esclave
server-id=2 -- 从数据库的唯一标识,不同数据库必须有不同的值
Redémarrez ensuite le service MySQL.
CHANGE MASTER TO MASTER_HOST='主库IP', -- 主数据库的IP地址 MASTER_PORT=主库端口, -- 主数据库的端口 MASTER_USER='repl', MASTER_PASSWORD='repl账号的密码', MASTER_LOG_FILE='主库的File字段值', MASTER_LOG_POS=主库的Position字段值; START SLAVE;
Utilisez la commande SHOW SLAVE STATUS ; pour afficher l'état de réplication de la base de données esclave et assurez-vous que les champs Slave_IO_Running et Slave_SQL_Running sont tous deux Oui. .
4. Test de sauvegarde des données et de reprise après sinistre
CREATE DATABASE test; USE test; CREATE TABLE tb_test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20)); INSERT INTO tb_test (name) VALUES ('张三'),('李四'),('王五'); SELECT * FROM tb_test;
Ensuite, vérifiez dans la base de données esclave si les données de la base de données maître sont automatiquement synchronisées.
Après l'arrêt de la base de données maître, la base de données esclave continuera à fonctionner et pourra lire et écrire dans la base de données esclave.
Une fois terminé, redémarrez le service MySQL de la base de données principale. Lorsque la base de données principale revient à la normale, la base de données esclave synchronise automatiquement les données de la base de données principale.
5. Résumé
Grâce à la fonction de réplication de MySQL, nous pouvons facilement réaliser une sauvegarde des données et une reprise après sinistre. Le processus de configuration des bases de données maître et esclave est relativement simple et ne nécessite que quelques configurations et commandes. Grâce à la fonction de réplication, vous pouvez assurer la synchronisation des données entre les bases de données maître et esclave et garantir que la base de données esclave peut continuer à fonctionner lorsque la base de données maître tombe en panne, améliorant ainsi la disponibilité du système.
Exemple de code :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!