如何找到mysql DB是奴隶?
作者:互联网
如何查找mysql DB是奴隶而不是通过查询使用“show slave status”?
解决方法:
如果复制正在运行,您必须检测以下3个选项
选项#1:检查状态变量’Slave_running’
使用MySQL 5.1 / 5.5
select variable_value from information_schema.global_status
where variable_name = 'Slave_running';
使用MySQL 5.0并返回
SHOW VARIABLES LIKE 'Slave_running';
选项#2:检查进程列表
使用MySQL 5.1 /5.5
select COUNT(1) SlaveThreads
from information_schema.processlist
where user = 'system user';
>如果SlaveThreads = 2,则复制正在运行
>如果SlaveThreads = 1,则复制已损坏
>如果SlaveThreads = 0,则复制已停止或已禁用
使用MySQL 5.0并返回
SHOW PROCESSLIST;
在用户列中查找具有“系统用户”的2个DB Conction.
选项#3:检查是否存在master.info
如果在数据库服务器上设置了复制,请查找master.info.默认情况下,master.info通常位于/ var / lib / mysql或定义datadir的位置.
只需多次运行’cat master.info'(对于Windows社区,输入master.info).如果日志位置正在移动,则启用复制.如果日志位置没有移动,则可能意味着复制被破坏(SQL线程中的SQL错误),停止(由于STOP SLAVE;)或禁用(通过运行CHANGE MASTER TO MASTER_HOST =”;).
标签:mysql,replication,database-replication 来源: https://codeday.me/bug/20190531/1187993.html