将从服务器设为另一台服务器的主服务器

将从服务器设为另一台服务器的主服务器

我有三台服务器,服务器 X、Y 和 Z。
我在 X 上有主 mysql 数据库(innodb 数据库)。
现在我已经创建了从 X 到 Y 的主从服务器。这里一切正常。
现在我将 Y 设置为 Z 的主服务器。
当我在 Z(第三台服务器)上显示从属状态时

显示从属状态\G
Slave_IO_State:等待主机发送事件
...
Slave_IO_Running:是
Slave_SQL_Running:是
...
落后大师秒数:0

但是数据未同步,并且没有任何内容从 Y 移动到 Z。知道可能是什么原因造成的吗?
编辑
在服务器 Y 上的 my.cnf 中,我有以下配置:

日志从属更新=ON
登录 bin = mysql-bin

但在显示变量如'%slave%'我有

显示类似‘%slave%’的变量;
+-----------------------------+--------+
| 变量名称 | 值 |
+-----------------------------+--------+
| 初始化从属 | |
| log_slave_updates | 关闭|
| 从属压缩协议 | 关闭 |
| 从属执行模式 | 严格 |
| 从站加载_tmpdir | /tmp |
| 从属网络超时 | 3600 |
| 从站跳过错误 | 关闭 |
| 从属事务重试次数 | 10 |
sql_slave_skip_counter 默认值为 1。
+-----------------------------+--------+

感谢您的帮助

答案1

确保你已经开始使用--log-slave-updates选项,以便从 X 收到的更新被 Y 记录到它的二进制日志中。


在服务器 Y 上的 my.cnf 中,我有以下配置:

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)

相关内容