给主库加读锁
务必严格按照下面的先后顺序!!! 必须先加锁,再把主库数据备份到新从库(如:用navicat备份数据到新从库)
mysql -u root -p
flush tables with read lock;
show master status;
新从库绑定主库
mysql -u root -p
CHANGE MASTER TO MASTER_HOST='192.168.1.11',MASTER_USER='x',MASTER_PASSWORD='x',MASTER_LOG_FILE='mariadb-bin.000001',MASTER_LOG_POS=330;
start slave;
回到主库进行解锁
unlock tables;
回到从库查看是否主从复制
SHOW SLAVE STATUS\G;
从库这2个都为Yes才代表成功,有一个是No都不成功!!! lave_IO_Running: Yes Slave_SQL_Running: Yes
错误解决
错误1:Slave failed to initialize relay log info structure from the repository
STOP SLAVE;
reset slave all;
注意事项:
- 没有解锁主库,则再回到新从库绑定主库操作一遍。
- 解锁了主库,要给主库重新加锁(因为解锁会把新数据写入主库,导致新从库数据不一致,进而导致新从库主从复制失败!),然后重新备份数据到新从库,再重新操作一遍。
|