此方案重新实现主从,数据完全同步
1)进入主库数据库
mysql -uroot -proot
2) 在主库加锁,开启只读服务(保证没有新数据写入)
flush tables with read lock;
3)在主库进行数据备份,把数据备份为.sql的文件
mysqldump -u登陆用户 -p登陆密码 --all-databases > mysql.back.sql
如:mysqldump -uroot -p123456 --all-databases > mysql.back.sql
注意:mysqldump命令可直接在服务器上运行,不用进入mysql
4)在主库解锁
unlock tables;
5) 把mysql的备份文件传输到从库服务器上,放到方便找到的路径下
scp -r /root/mysql.bask.sql 服务器用户名@服务器ip:存放路径
如:scp -r /root/mysql.bask.sql root@192.168.0.101:/tmp/
注意:如果在主库上不能直接将文件同步到从库,可找其它解决方案,也可利用工具现将文件下载到本地在上传到从库
6)进入从库数据库,停止同步服务
stop slave;
7) 在从库数据库中使用备份进行数据同步
source 备份文件存放的路径;
如:source /tmp/mysql.back.sql;
8)进入主库获取数据
show master status;
获取文件名称和文件位置
9)从库数据库设置同步服务
change master to master_host='192.168.13.4',master_user='root',master_password='root',
master_log_file='mysql-bin.000019',master_log_pos=271210840;
10)在从库数据库启动同步服务
start slave;
11)查看从库状态
show slave status\G
注意:执行这个命令需要该数据库的最高全下,否则展示不出来。