数据库
首页 > 数据库> > 如何找到mysql DB是奴隶?

如何找到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