Maison> base de données> tutoriel mysql> le corps du texte

Comment utiliser la fonction de réplication de MySQL pour réaliser une sauvegarde de données et une reprise après sinistre

WBOY
Libérer: 2023-08-06 11:46:45
original
828 Les gens l'ont consulté

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

  1. Générez un compte de réplication
    Tout d'abord, générez un compte pour la réplication dans la base de données principale. Vous pouvez utiliser l'instruction suivante pour créer un compte nommé repl dans la base de données principale et accorder des autorisations de réplication au compte repl.
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -- '%'代表允许来自任意IP地址访问 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
Copier après la connexion
  1. Activer le journal binaire
    Activer le journal binaire dans le fichier de configuration (my.cnf) de la base de données principale. Ajoutez la configuration suivante au fichier my.cnf :
log-bin=mysql-bin
Copier après la connexion

Puis redémarrez le service MySQL.

  1. Obtenir l'état de la base de données principale
    Utilisez l'instruction suivante pour obtenir les informations d'état de la base de données principale pour une utilisation ultérieure.
SHOW MASTER STATUS;
Copier après la connexion

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

  1. Configurez la configuration de réplication de la base de données esclave
    Configurez ce qui suit dans le fichier de configuration de la base de données esclave (my.cnf) :
server-id=2 -- 从数据库的唯一标识,不同数据库必须有不同的值
Copier après la connexion

Redémarrez ensuite le service MySQL.

  1. Démarrer la réplication
    Utilisez l'instruction suivante dans la base de données esclave pour démarrer la réplication :
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;
Copier après la connexion

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

  1. Sauvegarde des données
    Créez une table de test dans la base de données principale et insérez des données.
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;
Copier après la connexion

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.

  1. Test de reprise après sinistre
    La simulation du temps d'arrêt de la base de données principale peut être simulée en arrêtant le service MySQL de la base de données principale.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!