Maison > Article > base de données > Utilisez Innobackupex pour créer (réparer) rapidement l'architecture maître-esclave MySQL
Il existe de nombreuses façons de créer un maître-esclave MySQL. La méthode traditionnelle mysqldump est l'un des choix proposés par de nombreuses personnes. Mais pour les bases de données plus volumineuses, cette méthode n’est pas un choix idéal. Utilisez Xtrabackup pour créer ou réparer rapidement et facilement une architecture maître-esclave MySQL. Cet article décrit l'utilisation d'innobackupex pour créer ou réparer rapidement une architecture maître-esclave. Pour votre référence.
1、基于主库做一个完整备份 # mkdir -p /log/bakforslave # innobackupex --user=root -password=*** --socket=/tmp/mysql.sock \ --defaults-file=/etc/my.cnf /log/bakforslave --parallel=3 --safe-slave-backup --no-timestamp 2、复制数据库到备机 # tar -czvf bakforslave.tar.gz ./bakforslave/ # scp bakforslave.tar.gz robin@172.16.10.51:~ # scp /etc/my.cnf robin@172.16.10.51:~/mymaster.cnf 3、在备机上恢复 ###备机解压打包的备份文件 # mv /home/robin/bakforslave.tar.gz /data # cd /data # tar -xvf bakforslave.tar.gz ### prepare 备份 # innobackupex --user=root -password=*** --socket=/tmp/mysql.sock --defaults-file=/home/robin/mymaster.cnf \ --apply-log --use-memory=4GB /data/bakforslave ###如果是修复从库,从库为启动状态应先停止从库,再做如下操作,否则可以跳过 # service mysqld stop ###还原备份的数据文件 # mv mysqldata mysqldatabk # mv bakforslave mysqldata # chown -R mysql:mysql mysqldata ###如果是新搭建的从库,此时可以修改主库的my.cnf为本机的my.cnf, ###如果为修复,则可以直接使用原有的配置文件或根据需要修改。 # cp /home/robin/mymaster.cnf /etc/my.cnf # vi /etc/my.cnf ###此处应修改使用一个不同的server_id,同时可以根据需要修改相关路径及端口配置等。 # service mysqld start ###修改完毕后可以启动mysqld 4、主库授权用于复制的用户 mysql> grant replication slave,replication client on *.* to repl2@'172.16.10.%' identified by '***'; ### 验证shell 提示符下登陆到主库 # mysql -urepl2 -p -h172.16.10.88 5、启动slave # more /data/mysqldata/xtrabackup_binlog_info mysql-bin.000136 73752825 mysql> CHANGE MASTER TO MASTER_HOST='172.16.10.88', --Author: Leshami MASTER_USER='repl2', --Blog : http://www.php.cn/ MASTER_PASSWORD='***', MASTER_LOG_FILE='mysql-bin.000136', MASTER_LOG_POS=73752825; mysql> start slave; 6、验证结果 mysql> show slave status \G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.16.10.88 Master_User: repl2 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000136 Read_Master_Log_Pos: 96592981 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 72113 Relay_Master_Log_File: mysql-bin.000136 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: test,bs_com,bs_sysmsg,bs_bak Replicate_Ignore_DB: mysql Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 73824655 Relay_Log_Space: 22840613 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 3815 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 2 Master_UUID: afd6bca4-6636-11e3-9d60-74867ae1c47c Master_Info_File: /data/mysqldata/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: updating Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0 1 row in set (0.00 sec)
Ce qui précède explique comment construire (réparer) rapidement le maître MySQL- architecture esclave utilisant le contenu Innobackupex, veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !