Sample Header Ad - 728x90

Error in Master/Master replication between Mysql 8 and Mysql 5.6

-1 votes
1 answer
484 views
I've setup **master to master replication Between a Mysql 5.6 and Mysql 8.0 server**. I can get both slaves to run on both servers. Except when there is a change made on the Mysql 8.0 server (e.g. database/table created, or row inserted), the **Mysql 5.6 slave encounters an error**: ##### Mysql 5.6 > 'SHOW SLAVE STATUS\G;' > Last_Errno: 1594 > Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave. I wish to get replication working both ways whilst keeping the versions the same. Is there any way this can be achieved? #### Mysql 8 config
[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 config
[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/
Asked by ishvn (1 rep)
Aug 4, 2021, 06:42 AM
Last activity: Aug 17, 2021, 06:26 AM