手机
当前位置:查字典教程网 >编程开发 >mysql数据库 >master and slave have equal MySQL server ids
master and slave have equal MySQL server ids
摘要:蚊子今天下午搭了一主三从的mysql复制,结果所有服务器都配置好后,发现从上报如下的错误复制代码代码如下:Last_IO_Error:Fat...

蚊子今天下午搭了一主三从的mysql复制,结果所有服务器都配置好后,发现从上报如下的错误

复制代码 代码如下:

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

意思就是从上的server_id和主的一样的,经查看发现从上的/etc/my.cnf中的server_id=1这行我没有注释掉(在下面复制部分我设置了server_id),于是马上把这行注释掉了,然后重启mysql,发现还是报同样的错误。

使用如下命令查看了一下server_id

复制代码 代码如下:

mysql> show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 1 |

+---------------+-------+

1 row in set (0.00 sec)

发现,mysql并没有从my.cnf文件中更新server_id,既然这样就只能手动修改了

复制代码 代码如下:

mysql> set global server_id=2; #此处的数值和my.cnf里设置的一样就行

mysql> slave start;

如此执行后,slave恢复了正常。

不过稍后蚊子使用/etc/init.d/mysqld restart重启了mysql服务,然后查看slave状态,发现又出现了上面的错误,然后查看server_id发现这个数值又恢复到了1。

之后蚊子又重新查看了一下/etc/my.cnf的内容,确认应该不是这个文件的问题,于是去google查了一下,看到mysql在启动的时候会查找/etc/my.cnf、DATADIR/my.cnf,USER_HOME/my.cnf。

于是我执行了

复制代码 代码如下:

find / -name "my.cnf"

居然在/usr/local/mysql这个目录下发现了my.cnf文件,于是蚊子将这个文件删除了,然后再重启mysql服务,发现一切恢复了正常。如果有人也出现类似的问题,不妨试试这个办法吧。

【master and slave have equal MySQL server ids】相关文章:

MySQL Index Condition Pushdown(ICP)性能优化方法实例

MySQL优化配置文件my.ini(discuz论坛)

Can't connect to MySQL server on localhost (10061)解决方法

mysql 按中文字段排序

MSSQL output使用

php运行提示Can't connect to MySQL server on 'localhost'的解决方法

Windows平台下MySQL常用操作与命令

mysql 设置默认的时间值

MYSQL 数据库导入导出命令

如何配置MySQL主从复制

精品推荐
分类导航