主从库同步耗时查询

来源:互联网 发布:白夜追凶结局知乎 编辑:程序博客网 时间:2024/06/06 01:16

先查看从服务器的状态

1 mysql>SHOW SLAVE STATUS;

如果发现以下两个字段

1 Slave_IO_Running: No2 Slave_SQL_Running: NO

其中有一个为No,则同步出错,需要恢复。出错信息可以参考Last_Error字段。

一般情况下,在从服务器上执行

1 mysql>stop slave;2 mysql>start slave;

即可恢复。

如果运行这个之后,依然不能恢复,则可尝试以下方法。

先锁定表,在主服务器上执行

1 mysql>FLUSH TABLES WITH READ LOCK;2 mysql>SHOW MASTER STATUS;

第一句锁定表,第二句显示主服务器的状态,记下

1 File:2 Position:

这两个字段的值,再把需要同步的数据库的目录,在主服务器上操作,复制到从服务器

1 scp -r db_1 db_2 root@192.168.1.200:/var/lib/mysql/

这里,把db_1,db_2两个数据库目录,复制到从服务器的MySql数据目录下,复制后,注意权限问题。

完成复制之后,在主服务器上操作,解锁表

1 UNLOCK TABLES;

在从服务器上操作

复制代码
1 STOP SLAVE;2 3 CHANGE MASTER TO4 MASTER_LOG_FILE='mysql-bin.000098',5 MASTER_LOG_POS=22926865;6 7 START SLAVE;8 9 SHOW SLAVE STATUS;
复制代码

这里,LOG_FILE与LOG_POS分别对应之前在主服务器上查询出来的File与Position字段。

完成。

其中的CHANGE MASTER TO语句,通常还有以下值,按需选择设置

复制代码
1 CHANGE MASTER TO2 MASTER_HOST='192.168.1.199', 3 MASTER_USER='repl', 4 MASTER_PASSWORD='repl', 5 MASTER_PORT=3306 6 MASTER_LOG_FILE='MYSQL-BIN.000098', 7 MASTER_LOG_POS=22926865, 8 MASTER_CONNECT_RETRY=30; 
复制代码

参考 :http://www.cnblogs.com/heiing/archive/2012/09/17/2688504.html

             http://zhengdl126.iteye.com/blog/432677

            http://blog.csdn.net/shootyou/article/details/6237719

              http://ycsk.iteye.com/blog/788501

0 0