如果是Master和Slave(复制),如何重新同步MySQL DB?
这是从头开始重新同步主从复制的完整分步过程:
在大师:
RESET MASTER; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
并将 最后一条命令的结果值复制到某处。
在不关闭与客户端的连接的情况下(因为它将释放读取锁),发出命令以获取主服务器的转储:
mysqldump -u root -p --all-databases > /a/path/mysqldump.sql
现在,即使转储尚未结束,您也可以释放锁。为此,请在MySQL客户端中执行以下命令:
UNLOCK TABLES;
现在,使用scp或首选工具将转储文件复制到从属服务器。
在奴隶处:
打开与mysql的连接,然后键入:
STOP SLAVE;
使用以下控制台命令加载master的数据转储:
mysql -uroot -p < mysqldump.sql
同步从属和主要日志:
RESET SLAVE; CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS=8;
上述字段的值是您之前复制的值。
最后,输入:
START SLAVE;
在键入后,要检查一切是否又能正常工作:
SHOW SLAVE STATUS;
您应该看到:
Slave_IO_Running: Yes Slave_SQL_Running: Yes
而已!