mysql主从同步失败,原因是主跟从已经有相同的数据在里面了。


解决方法:在从库的/etc/my.cnf里添加如下代码

[mysqld]

slave-skip-errors = 1032,1062,1007,1050


案例一:

mysql> show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 172.20.18.166

                  Master_User: rep

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000003

          Read_Master_Log_Pos: 237

               Relay_Log_File: abu-relay-bin.000002

                Relay_Log_Pos: 253

        Relay_Master_Log_File: mysql-bin.000001

             Slave_IO_Running: Yes

            Slave_SQL_Running: No

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: 

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 1007

                   Last_Error: Error 'Can't create database 'abu'; database exists' on query. Default database: 'abu'. Query: 'create database abu'

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 107

              Relay_Log_Space: 1859

              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: 0

                Last_IO_Error: 

               Last_SQL_Errno: 1007

               Last_SQL_Error: Error 'Can't create database 'abu'; database exists' on query. Default database: 'abu'. Query: 'create database abu'

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 1

1 row in set (0.00 sec)


案例二:

mysql> show slave status\G

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event

                  Master_Host: 172.20.18.166

                  Master_User: rep

                  Master_Port: 3306

                Connect_Retry: 60

              Master_Log_File: mysql-bin.000003

          Read_Master_Log_Pos: 237

               Relay_Log_File: abu-relay-bin.000002

                Relay_Log_Pos: 253

        Relay_Master_Log_File: mysql-bin.000001

             Slave_IO_Running: Yes

            Slave_SQL_Running: No

              Replicate_Do_DB: 

          Replicate_Ignore_DB: 

           Replicate_Do_Table: 

       Replicate_Ignore_Table: 

      Replicate_Wild_Do_Table: 

  Replicate_Wild_Ignore_Table: 

                   Last_Errno: 1007

                   Last_Error: Error 'Can't create database 'abu'; database exists' on query. Default database: 'abu'. Query: 'create database abu'

                 Skip_Counter: 0

          Exec_Master_Log_Pos: 107

              Relay_Log_Space: 1859

              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: 0

                Last_IO_Error: 

               Last_SQL_Errno: 1007

               Last_SQL_Error: Error 'Can't create database 'abu'; database exists' on query. Default database: 'abu'. Query: 'create database abu'

  Replicate_Ignore_Server_Ids: 

             Master_Server_Id: 1

1 row in set (0.00 sec)




解决方法:在从库的/etc/my.cnf里添加如下代码

[mysqld]

slave-skip-errors = 1032,1062,1007,1050