Mysql Server1
正在运行为MASTER.
Mysql Server2
正在运行为SLAVE.
现在数据库复制发生在MASTER to SLAVE.
Server2
从网络中删除并在 1 天后重新连接。此后主库和从库的数据库不匹配。
如何重新同步数据库,因为将数据库从主数据库恢复到从数据库后也无法解决问题?
这是从头开始重新同步主从复制的完整分步过程:
在大师处:
RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
And 复制结果的值某个地方的最后一个命令。
在不关闭与客户端的连接(因为它会释放读锁)的情况下,发出命令来获取主服务器的转储:
mysqldump -u root -p --all-databases > /a/path/mysqldump.sql
现在您可以释放锁,即使转储尚未结束。为此,请在 MySQL 客户端中执行以下命令:
UNLOCK TABLES;
现在使用 scp 或您喜欢的工具将转储文件复制到从属服务器。
在奴隶处:
打开与 mysql 的连接并输入:
STOP SLAVE;
使用以下控制台命令加载主服务器的数据转储:
mysql -uroot -p < mysqldump.sql
同步从站和主站日志:
RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;
其中上述字段的值是您之前复制的值。
最后,输入:
START SLAVE;
要检查一切是否再次正常工作,请输入:
SHOW SLAVE STATUS;
你应该看到:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
就是这样!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)