您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL 5.6主从复制第四部分[一些被忽视的操作细节]

2025/12/11 3:14:12发布30次查看
mysql 5.6主从复制第四部分[一些被忽视的操作细节] 1. stop slave 从服务器上负责同步的有二类线程: 1) io thread 2) sql thread
mysql 5.6主从复制第四部分[一些被忽视的操作细节]
1. stop slave
从服务器上负责同步的有二类线程:
 1) io thread
 2) sql thread
io thread负责获取master上的binary log, 然后多个sql threads负责执行。
io thread 决定了retrieved_gtid_set
 sql thread 决定了executed_gtid_set
由于io thread先于sql thread,retrieved_gtid_set可能会略多于executed_gtid_set。
 比如:
mysql [localhost] {msandbox} (test) > show slave status \g
.......
.......
          retrieved_gtid_set: 67cd9435-7cae-11e2-aa8d-00241db92e69:1-9
            executed_gtid_set: 67cd9435-7cae-11e2-aa8d-00241db92e69:1-7
                auto_position: 1
所以,在stop slave的时候,,正确的操作是:
 1) stop slave io_thread;
 2) show slave status 确定executed_gtid_set赶上了retrieved_gtid_set
 3) stop slave sql_thread.
2.flush tables with read lock 与 show slave status
在一台完全正常的从服务器上开一个session 1:
 mysql> flush tables with read lock;
 如果主服务器有更新,
 在此从服务器上再开一个session2:
 mysql> show slave status,将会卡住, 直到在session1中执行unlock tables。
如果show slave status也是在session 1中执行的, 那么就没办法恢复了。。。。
mysql [localhost] {msandbox} (test) > flush tables with read lock;
 query ok, 0 rows affected (0.01 sec)
 //这时主服务器发生了更新操作。
 mysql [localhost] {msandbox} (test) > show slave status;
 卡在这里…
 当然ctrl+c可以取消,
ctrl-c — sending “kill query 1″ to server …
 ctrl-c — query aborted.
 ctrl-c — sending “kill 1″ to server …
 ctrl-c — query aborted.
 error 2013 (hy000): lost connection to mysql server during query
 mysql [localhost] {msandbox} (test) >
 即使这时再unlock tables也没有用。。早已经断开连接了。。
 mysql [localhost] {msandbox} (test) > unlock tables;
 error 2006 (hy000): mysql server has gone away
 no connection. trying to reconnect…
 connection id: 14
 current database: test
query ok, 0 rows affected (0.01 sec)
而且现在mysqld都无法stop了…
 [modify@h209 msb_5_6_10_b]$ ./stop
 warning; aborted waiting on pid file: ‘/home/modify/sandboxes/msb_5_6_10_b/data/mysql_sandbox5612.pid’ after 190 seconds
 attempting normal termination — kill -15 10858
所以在 flush tables with read lock 之前,要先stop slave…
?id=68460
相关阅读:
mysql 5.6主从复制第一部分[简介及配置]
mysql 5.6主从复制第二部分[恢复某一台从服务器]
mysql 5.6主从复制第三部分[把从服务器提升为主服务器]
mysql 5.6主从复制第四部分[一些被忽视的操作细节]
mysql 主从复制事件校验 mysql replication event checksum
使用pt-table-checksum检查主从复制是否正常
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product