Maison >base de données >tutoriel mysql >Explication détaillée de la méthode de création d'une base de données maître-esclave dans MySQL
Cet article présente principalement la méthode de construction de la base de données maître-esclave MySQL. Il analyse plus en détail les principes, les étapes et les techniques de fonctionnement spécifiques de la construction de la base de données maître-esclave MySQL. Les amis dans le besoin peuvent se référer à ce qui suit
Cet article explique les exemples Apprenez à créer une base de données maître-esclave MySQL. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants : Le serveur maître-esclave est une très bonne solution pour la sauvegarde de synchronisation de données en temps réel MySQL. Désormais, tous les grands, moyens et petits réseaux utiliseront le. Fonction de serveur maître-esclave de la base de données mysql pour La base de données du site Web a été sauvegardée de manière asynchrone. Présentons les étapes de configuration du serveur maître-esclave. La réplication maître-esclave MySQL nécessite au moins deux services Mysql. Bien entendu, les services Mysql peuvent être distribués sur différents serveurs, ou plusieurs services peuvent être démarrés sur un seul serveur. (1) Assurez-vous d'abord que les versions de Mysql sur les serveurs maître et esclave sont les mêmes (2) Sur le serveur maître, créez un compte pour la base de données esclave et utilisez pour accorder des autorisations, telles que : REPLICATION SLAVE
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave001'@'192.168.0.99' IDENTIFIED BY '123456'; Query OK, 0 rows affected (0.13 sec)(3) Modifiez le fichier de configuration my.cnf de la base de données principale, ouvrez BINLOG et définissez la valeur de server-id. Après modification, le service Mysql doit être redémarré
[mysqld] log-bin = /home/mysql/log/mysql-bin.log server-id=1Après (4), vous pouvez obtenir le nom du journal binaire actuel et le décalage du serveur principal. . Le but de cette opération est de démarrer le traitement des données à partir de ce point après avoir démarré à partir de la base de données
mysql> show master statusG; *************************** 1. row *************************** File: mysql-bin.000003 Position: 243 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.00 sec)(5) Eh bien, nous pouvons maintenant arrêter la mise à jour. fonctionnement des données maître et générer une sauvegarde de la base de données maître. Nous pouvons exporter les données vers l'esclave via la base de données mysqldump, bien sûr, vous pouvez également utiliser directement la commande cp pour copier le fichier de données dans la base de données esclave Assurez-vous de READ LOCK la base de données principale avant d'exporter les données pour garantir la cohérence des données
mysql> flush tables with read lock; Query OK, 0 rows affected (0.19 sec)suivi de mysqldump
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sqlIl est préférable de restaurer l'opération d'écriture une fois la sauvegarde de la base de données principale terminée
mysql> unlock tables; Query OK, 0 rows affected (0.28 sec)(6) Copiez le test.sql du sauvegardez les données maître tout à l'heure dans la base de données esclave et importez-les (7) Modifiez ensuite le my.cnf de la base de données esclave, ajoutez le paramètre server-id, spécifiez l'utilisateur utilisé pour la réplication, l'IP et le port du serveur de base de données principal, ainsi que le fichier et l'emplacement pour démarrer le journal de réplication
[mysqld] server-id=2 log_bin = /var/log/mysql/mysql-bin.log master-host =192.168.1.100 master-user=test master-pass=123456 master-port =3306 master-connect-retry=60 replicate-do-db =test(8) dans Depuis le serveur, démarrez le processus esclave
mysql> start slave;(9) Effectuer une
vérification sur le serveur esclaveshow salve status
mysql> SHOW SLAVE STATUSG *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: localhost Master_User: root Master_Port: 3306 Connect_Retry: 3 Master_Log_File: mysql-bin.003 Read_Master_Log_Pos: 79 Relay_Log_File: gbichot-relay-bin.003 Relay_Log_Pos: 548 Relay_Master_Log_File: mysql-bin .003 Slave_IO_Running: Yes Slave_SQL_Running: Yes(10) Ok, maintenant nous pouvons faire quelques opérations de mise à jour sur notre serveur principal, puis vérifier s'il a été mis à jour sur le serveur esclave
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!