mysql> select @@version;
+————+
| @@version |
+————+
| 5.6.24-log |
+————+
1 row in set (0.00 sec)
模拟slave故障oneproxy的读写分离转发功能时,发现无法stop slave sql_thread;或stop slave io_thread;可以stop slave;
命令可以执行成功。
mysql> stop slave sql_thread;
Query OK, 0 rows affected (0.01 sec)
但show slave status时看到Slave_IO_Running为YES状态。
Slave_SQL_Running: Yes
打开general_log 观察数据库执行了哪些命令。
mysql> set global general_log=on; stop slave sql_thread;
发现有START SLAVE SQL_THREAD 命令,怀疑是oneproxy发出的。
70831 10:49:51 40 Query stop slave sql_thread
42 Query show status like ‘oneagent_%’
63 Query SHOW MASTER STATUS
63 Query SHOW SLAVE STATUS
63 Query SELECT id, col2 FROM test.oneproxy_replication_check where id = 1
63 Query START SLAVE SQL_THREAD
187 Query BEGIN
187 Query COMMIT /* implicit, from Xid_log_event */
41 Query show variables like ‘read_only’
停掉oneproxy后,stop slave sql_thread 可以正常执行成功。
./oneproxy.service stop
Stopping OneProxy … [ OK ]