一、 1050错误

2018-11-14T18:51:30.223364Z 16 [ERROR] Slave SQL for channel '': Worker 1 failed executing transaction 'f2e8c114-883b-11e8-9d51-000c297ffb2f:2' at master log mysql-bin.000001, end_log_pos 
492; Error 'Table 't3' already exists' on query. Default database: 'bxj'. Query: 'create table t3(id int,sname varchar(10))', Error_code: 1050

二、模拟同步故障并重置同步

1、模拟同步故障

----先在slave 从库创建一个表

mysql> create table t3(id int,sname varchar(10));
Query OK, 0 rows affected (0.06 sec)

--再在Master主库创建一个同名的表

mysql> create table t3(id int,sname varchar(10));
Query OK, 0 rows affected (0.26 sec)

 

 此时可以看到主从库同步已经停止同步,由于从库已经在此表产生了数据的不一致。

--查看Slave状态

MySQL主从复制不一致 mysql主从复制故障_重置

 

2、重置主从同步

为重新使主从进行同步,解决办法之一就是重置Master和Slave复制

Error 'Table 't3' already exists' on query. Default database: 'bxj
'. Query: 'create table t3(id int,sname varchar(10))', Error_code: 1050

1050错误产生原因:

1、主从数据结构中,主库新建a表操作,从库已有a表;

2、单表中,建表重复。建议新建表最好使用create table xx if no exist;

解决方法一:

1、从库drop table a; 删除原先表;

2、停掉从库的mysql服务器, mysqladmin -S /home/data/run/mysql.sock -u -p shutdown   关闭数据库

3、重启从库,启动slave模式: /usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my.cnf   --datadir=/home/data/data/   --user=mysql & 重启数据库

mysql>start slave;

解决方法二:

重置Master和slave复制

---查看Master状态