如何修复MariaDB中的多主复制错误

时间:2014-04-25 06:52:06

标签: mariadb multi-master-replication

我在MariaDB中设置了多主环复制。 3台服务器。

我的一台服务器的磁盘空间不足,我最终需要重启服务器。此后,两个从属服务器在从属状态下报告此错误。

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Error: connecting slave requested to start from GTID 1-1-426253, which is not in the master's binlog'

我真的很困惑如何从这个错误中恢复我的奴隶,有人可以告诉我如何告诉这个奴隶服务器从哪个主人的正确GTID开始?

由于

3 个答案:

答案 0 :(得分:3)

我把它全部恢复了工作。我只需通过转到主服务器并键入SHOW MASTER STATUS;

找到主服务器日志和位置号

然后我在奴隶身上使用了这些信息并做了这件事。

STOP SLAVE 'MDB1';

CHANGE MASTER "MDB1" TO master_host="xxx.xxx.xxx.xxx", master_port=3306, master_user="****", master_password="****", master_log_file="mariadb-bin.000394", master_log_pos=385;

START SLAVE 'MDB1';

然后检查一切正常,然后我改回使用GTID

STOP SLAVE 'MDB1';

CHANGE MASTER "MDB1" TO master_use_gtid=slave_pos;

START SLAVE 'MDB1'; 

之后它全部重新开始运行。

答案 1 :(得分:0)

Moshe L,这是我的主人binlog设置

server-id = 1
gtid_domain_id = 1
gtid_strict_mode = 1
report_host             = MDB1
auto_increment_increment = 3
auto_increment_offset   = 1
slave_parallel_threads = 12
replicate_ignore_db     = mysql
replicate_ignore_table  = MA4_Data.EOD_FileCache
log_bin                 = /var/log/mysql/mariadb-bin
log_bin_index           = /var/log/mysql/mariadb-bin.index
binlog_format           = mixed
#binlog_commit_wait_count = 12
#binlog_commit_wait_usec = 10000
#slave_compressed_protocol = 1
# not fab for performance, but safer
sync_binlog             = 1
expire_logs_days        = 10
max_binlog_size         = 100M
# slaves
relay_log               = /var/log/mysql/relay-bin
relay_log_index = /var/log/mysql/relay-bin.index
relay_log_info_file     = /var/log/mysql/relay-bin.info

答案 2 :(得分:-1)

这是另一种可以尝试的解决方案。

stop slave; 
reset slave;
start slave