slave I/O 线程停止,因为 SET @master_heartbeat_period on master 在更改字符集后失败

The slave I/O thread stops because SET @master_heartbeat_period on master failed after changing a character set

我在测试环境做主从复制后,要改字符集。这就是我所做的:

[mysqld]
character-set-server = utf8
collation-server = utf8_bin
init_connect=‘SET collation_connection = utf8_bin’

[client]
default_character_set = utf8

in my.cnf 在两台服务器上,重新启动服务器后,完成:

SHOW SLAVE STATUS\G

结果:

The slave I/O thread stops because SET @master_heartbeat_period on master failed. Error:

已尝试停止奴隶;重置奴隶;启动奴隶; - 没有帮助。尝试删除数据库,创建新的,当这些设置完成后,将备份恢复到其中,然后复制这个数据库 - 没有帮助。尝试过

ALTER TABLE <table name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

我唯一的 table,在从零开始创建复制之前 - 没有帮助。 能否请您指教,如何设置复制工作的代码页?

init_connect=‘SET collation_connection = utf8_bin’

[client]
default_character_set = utf8

没有必要。没有这些代码复制就可以工作。