Chinaunix

标题: 【紧急】mysql主主问题 [打印本页]

作者: split_two    时间: 2014-01-21 21:59
标题: 【紧急】mysql主主问题
两台mysql互为主从,以前运行还是正常的。mysql版本均为5.5.32-log,系统是centos6.4(64位)
现在主查看mysql的同步状态为:
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State:
                  Master_Host: mysql2.localnet
                  Master_User: xxxx
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000051
          Read_Master_Log_Pos: 204164003
               Relay_Log_File: mysqld-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000051
             Slave_IO_Running: No
            Slave_SQL_Running: No
              Replicate_Do_DB:
          Replicate_Ignore_DB: mysql,aclocal,information_schema,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 204164003
              Relay_Log_Space: 107
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1593
                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).
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 2
1 row in set (0.00 sec)

ERROR:
No query specified
从查看mysql的同步状态为:
*************************** 1. row ***************************
               Slave_IO_State:
                  Master_Host: mysql2.localnet
                  Master_User: xxxx
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000051
          Read_Master_Log_Pos: 204164003
               Relay_Log_File: mysqld-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000051
             Slave_IO_Running: No
            Slave_SQL_Running: No
              Replicate_Do_DB:
          Replicate_Ignore_DB: mysql,aclocal,information_schema,performance_schema
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 204164003
              Relay_Log_Space: 107
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1593
                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).
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 2
1 row in set (0.01 sec)

ERROR:
No query specified
查看很多资料是说server-id一致导致的,看到两边的主机都是同一台MYSQL服务器,无论我怎么修改change master,仍然是一台,我手动修改其中一台server-id值后再开启同步两边的server-id还是一样的。两台数据库都重启过。更离奇的是两边竟然还能相互同步,今天打算把两台都stop slave,想再重新change master一下,无奈,停止同步后两台的IO和SQL线程都是NO,竟然还能同步,我真是很不理解了。这个问题也是第一次遇到,因为对mysql主主的知识掌握有限,肯定mysql DBA们能帮忙看看,这个是这个mysql版本的bug还是什么原因导致的?或者说我怎么做才能无风险的将主主再重新做一遍呢?
作者: bikong0411    时间: 2014-01-22 09:53
你看下使用的配置文件是不是你修改的那个
作者: zy407321952    时间: 2014-01-22 10:19
贴一下各自的mysql的配置文件
作者: xueleixu    时间: 2014-01-24 14:29
如果出现上面的问题,你还能发现你的主从是可以正常同步的,那么只能说明一种情况。你查看的不是你所需要访问的正式环境。估计是你访问到其他数据库上面了,你是否就只有一组主从数据库呢?还是请你说说都是怎么连接到数据库参看这些状态的!
还有你的主从是双主,还是一主一从?
我看到2个状态是一样的,我估计你是不是2次连接都访问到从库上面去了!而不是从主上面看的!
作者: kaixinguo8115    时间: 2014-01-26 20:26
检查一下配置文件和配置slave时的change master信息
作者: action08    时间: 2014-02-04 16:34
mysql复制技术其实也挺麻烦的,很容易出错
作者: a.a    时间: 2014-02-12 11:59
find / -xdev -name * my.cnf

作者: chinafenghao    时间: 2014-02-20 16:06
出现这个问题前,你做过什么改动?@split_two




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2