请帮忙!
我基于GTID机制设置了主从复制。复制工作正常,直到从属设备上发生 mysqld 重启。然后混乱开始了……
重新启动后,我无法恢复复制。发出“START SLAVE”命令时,我收到以下错误消息:
第 1 行的错误 1794 (HY000):从设备未配置或无法正确初始化。您必须至少设置 --server-id 以启用主服务器或从服务器。可以在 MySQL 错误日志中找到其他错误消息。
不用说我确实在 my.cnf 中设置了 server-id(见下文)。
在 /var/log/mysqld.log 文件中,我发现以下错误消息:
[错误] 创建主信息时出错:找到多个复制元数据存储库实例,其中包含数据。无法决定哪个是正确的选择。
[错误] 无法创建或恢复复制信息存储库。
我不明白我做错了什么。
主从之间的通信通过 stunnel 进行 ssl 隧道化,但我认为这不是一个相关的事实,因为在重新启动之前一切正常。
我发现重新建立复制的唯一方法(mysql重启后)是手动删除mysql数据文件,然后再次加载从master导入的dump文件。(我使用 mysqldump)。这当然是不合理的。
以下是 my.cnf 文件:
在奴隶上:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
server-id=2
log-bin=mysql-bin
binlog_format=ROW
relay_log=relay-log
skip-slave-start
enforce-gtid-consistency
gtid-mode=ON
log-slave-updates
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
在材料上:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog_format=ROW
gtid-mode=on
enforce-gtid-consistency
log-slave-updates
innodb_buffer_pool_size = 1G
query_cache_size = 32M
从机:Centos 6.6,mysql 5.6.24。
主机:RHEL 6.6,mysql 5.6.10。
任何帮助将不胜感激!
谢谢
纳达夫布鲁姆