MySQL 设置主主复制时出现语法错误

MySQL 设置主主复制时出现语法错误

因此,我在两个不同的 MySQL 服务器上设置了初始主从复制对。这部分工作正常。所以我所要做的就是将第一个主服务器设置为从服务器,将第一个从服务器设置为第二个主服务器,对吗?

错误的!

当我尝试在辅助主服务器上创建第二个从属帐户时发生的情况如下:

mysql> grant replication slave on *.* to 'repslave2'@'ourhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> start master;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master' at line 1

什么?你是什么意思,“语法错误”?这很简单。我拼对了“master”。它在另一台服务器上运行,无需安装任何特殊程序。“stop slave”和“start slave”在此服务器上按宣传的那样运行。为什么它不起作用?

编辑并添加:

我认为我已经找到问题的一部分 - 两个服务器之间的主从复制混淆了。在这里,我尝试在主要主服务器上停止主服务器:

mysql> stop master;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master' at line 1
mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> stop master;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master' at line 1
mysql> start master;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'master' at line 1
mysql> start slave;
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

答案1

您必须首先在新的主服务器上定义主服务器设置,然后在发送启动主服务器;命令之前停止您希望成为主服务器的服务器上的从服务器。

可能不是您想要的答案,但它是正确的。

更好地理解您正在做的事情将会很有帮助。

答案2

尝试start slave

每个主服务器都应该是另一个主服务器的从服务器,不要忘记server-id在每个服务器上配置不同的服务器my.cnf

还要正确设置auto_increment_incrementauto_increment_offset避免重复的主键破坏复制。

正确配置每个服务器后,检查show slave status是否Slave_IO_Running处于Slave_SQL_Running状态。yes

答案3

配置完成后,输入此命令 START SLAVE IO_THREAD

相关内容