我有三台服务器,Server X,Y和Z.
X(innodb数据库)上有主MySQL数据库。
现在我已经创build了从X到Y的主从。在这里一切工作正常。
现在我把Y定为Z的主人。
当我在Z(第三台服务器)上显示slave状态时,
显示从站状态\ G Slave_IO_State:等待主控发送事件 ... Slave_IO_Running:是的 Slave_SQL_Running:是的 ... Seconds_Behind_Master:0
但数据不同步,没有任何东西已经从Y到Z.任何想法可能会导致此?
编辑
在服务器Y上my.cnf,我有以下的conf:
login从属更新= ON login斌= mysql的斌
但在显示variables像'%奴隶%'我有
显示像'%奴隶%'的variables; + --------------------------- + -------- + | variables名| 值| + --------------------------- + -------- + | init_slave | | | log_slave_updates | OFF | | slave_compressed_protocol | OFF | | slave_exec_mode | 严格| | slave_load_tmpdir | / tmp | | slave_net_timeout | 3600 | | slave_skip_errors | OFF | | slave_transaction_retries | 10 | | sql_slave_skip_counter | | + --------------------------- + -------- +
谢谢你的帮助
确保你已经用–log-slave-updates选项启动了Y,这样从X接收到的更新被Ylogging到它的二进制日志中。
在服务器Y上my.cnf,我有以下的conf:
log-slave-updates=ON
使用布尔值而不是开关值:
log-slave-updates=true
结果:
mysql> show global variables like '%slave%'; +---------------------------+--------+ | Variable_name | Value | +---------------------------+--------+ | init_slave | | | log_slave_updates | ON | | slave_compressed_protocol | OFF | | slave_exec_mode | STRICT | | slave_load_tmpdir | /tmp | | slave_net_timeout | 3600 | | slave_skip_errors | OFF | | slave_transaction_retries | 10 | | sql_slave_skip_counter | | +---------------------------+--------+ 9 rows in set (0.00 sec)