我已经在 Mysql 5.6 和 Mysql 8.0 服务器之间设置了 master 到 master 复制。我可以让两个从服务器在两台服务器上运行。除非在 Mysql 8.0 服务器上发生更改(例如创建数据库/表或插入行),否则Mysql 5.6 从站会遇到错误:
Mysql 5.6 > '显示奴隶状态\G;'
Last_Errno:1594
Last_Error:中继日志读取失败:无法解析中继日志事件条目。可能的原因是:主服务器的二进制日志已损坏(您可以通过在二进制日志上运行“mysqlbinlog”来检查),从服务器的中继日志已损坏(您可以通过在中继日志上运行“mysqlbinlog”来检查),a网络问题,或者主从的 MySQL 代码中的错误。如果您想检查主服务器的二进制日志或从服务器的中继日志,您将能够通过在该从服务器上发出“SHOW SLAVE STATUS”来知道它们的名称。
我希望在保持版本相同的同时让复制双向工作。有什么办法可以实现吗?
mysql 8 配置
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
datadir = /var/lib/mysql
bind-address = 0.0.0.0
key_buffer_size = 16M
max_allowed_packet = 16M
myisam-recover-options = BACKUP
max_connections = 1000
log_error = /var/log/mysql/error.log
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
binlog-format = row
binlog_expire_logs_seconds = 432000
relay-log = /var/log/mysql/mysql-relay-bin.log
relay-log-index = /var/log/mysql/mysql-relay-bin.index
replicate-ignore-db = mysql,information_schema,performance_schema
max_binlog_size = 100M
binlog_ignore_db = mysql,information_schema,performance_schema
binlog_checksum = NONE
lower_case_table_names = 1
mysql 5.6 配置
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
log_error=/var/log/mysql/mysql_error.log
wait_timeout = 900
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
max_connections = 1000
query_cache_limit = 1M
query_cache_size = 16M
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 5
relay-log = /var/log/mysql/mysql-relay-bin.log
relay-log-index = /var/log/mysql/mysql-relay-bin.index
replicate-ignore-db = mysql,information_schema,performance_schema
max_binlog_size = 100M
binlog-format = row
binlog_ignore_db = mysql,information_schema,performance_schema
lower_case_table_names = 1
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/