注:环境为主库单实例,从库多实例。
主库开logbin,确认server id 和从库不同
[root@db backup]# egrep log-bin|server-id /etc/my.cnf
server-id = 1
log-bin=mysql-bin
[root@db-2 backup]# egrep log-bin|server-id /data/3306/my.cnf
#log-bin = /data/3306/mysql-bin
server-id = 06
2.主库建用户用于从库访问
[root@db backup]# mysql -uroot -p111111 -egrant replication slave on *.* to 'rep'@'%' identified by '111111';flush privileges;
[root@db backup]# mysql -uroot -p111111 -eshow grants for rep
+----------------------------------------------------------------------------------------------------------------+
| grants for rep@% |
+----------------------------------------------------------------------------------------------------------------+
| grant replication slave on *.* to 'rep'@'%' identified by password '*fd571203974ba9afe270fe62151ae967eca5e0aa' |
3.主库备份
mysqldump -uroot -p111111 -a -b --events -master-data=1 -x > /backup/db.sql
#备注:官方建议:锁住表查看(flush table with read lock:show master status;show master logs;)--->备份--->解锁(unlock tables):
4.从库导入(已将数据scp过来)
mysql -uroot -p111111 -s /data/3306/mysql.sock /db.sql
5.从库change master,start slave。
change master to master_host='192.168.199.21', master_port=3306, master_user='rep', master_password='111111',master_log_file='mysql-bin.000025',master_log_pos=107;start slave;show slave status \g;*************************** 1. row *************************** slave_io_state: waiting for master to send event master_host: 192.168.199.21 master_user: rep master_port: 3306 connect_retry: 60 master_log_file: mysql-bin.000025 read_master_log_pos: 107 relay_log_file: relay-bin.000002 relay_log_pos: 253 relay_master_log_file: mysql-bin.000025 slave_io_running: yes slave_sql_running: yes ....error: no query specified