一、 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状态
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状态