我有 1 个主从复制,同时从属服务器是 MariaDB 集群的主服务器,它将取代实际的两个数据库服务器。一切看起来都很好,但是自从上个月设置集群以来,从站上的主站位置尚未更新。
从服务器正在从主服务器进行正常写入,但从那以后集群就没有更新过。事实上,没有观察到错误,但注意到集群与从一开始就设置的一样。
我知道集群不写入新数据与从属设备上的主位置有关。
所以问题是为什么从站上的主站位置没有更新?
在我的主人
mysql> 显示主状态\G;
**************************** 1. 行 ***************** **********
文件:mysql-bin.000775
职位:6593494
Binlog_Do_DB:
Binlog_Ignore_DB:mysql,性能_架构,phpmyadmin,信息_架构
一组 1 行(0.00 秒)
在我的奴隶上:
MariaDB [(none)]> 显示从属状态\G;
**************************** 1. 行 ***************** **********
Slave_IO_State:WAITING主机发送事件
Master_Host:master_IP
Master_User:复制
主端口:3306
连接重试:10
Master_Log_File:mysql-bin.000775
读取主日志位置:4192372
Relay_Log_File:slave-relay-bin.002921
Relay_Log_Pos:2315832
Relay_Master_Log_File:mysql-bin.000775
Slave_IO_Running:是
Slave_SQL_Running:是
也在从属设备上
MariaDB [(none)]> 显示主状态\G;
**************************** 1. 行 ***************** **********
文件:mysql-replication.000003
位置:342
Binlog_Do_DB:
Binlog_Ignore_DB:
一组 1 行(0.00 秒)
在集群上
MariaDB [无]> 显示从属状态\G;
**************************** 1. 行 ***************** **********
Slave_IO_State:WAITING主机发送事件
Master_Host:slave_IP
Master_User:副本
主端口:3306
连接重试:10
Master_Log_File:mysql-replication.000003
读取主日志位置:342
Relay_Log_File: cluster-relay-bin.000004
Relay_Log_Pos:645
Relay_Master_Log_File:mysql-replication.000003
Slave_IO_Running:是
Slave_SQL_Running:是
最佳答案
除非您启用 log_slave_updates
,否则计算机不会将传入事件复制到下游副本。
Normally, a slave does not write any updates that are received from a master server to its own binary log. This option causes the slave to write the updates performed by its SQL thread to its own binary log.
(引用了 MySQL 文档,但对于 MariaDB 也准确。)
不相关,但Binlog_Ignore_Db
通常是不必要的并且可能存在问题。
关于mysql - 主从服务器上的位置未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47340456/