复制过程是这样的:

1.mysqldump下数据,恢复

2.由于有几个库是不需要的,因此主从复制时候ignore那几个库,然后复制

3.结果出现下面的外键依赖错误

 

Last_SQL_Error: Error 'Cannot add or update a child row: a foreign key constraint fails (`otrs3`.`article_flag`, CONSTRAINT `FK_article_flag_article_id_id` FOREIGN KEY (`article_id`) REFERENCES `article` (`id`))' on query. Default database: 'otrs3'. Query: 'INSERT INTO article_flag
            (article_id, article_key, article_value, create_time, create_by)
            VALUES ('158772', 'Seen', '1',
        '2016-10-09 15:45:33'
, '157')'

原因:这是一个mysql的bug

1. 该Bug不仅仅在replicate-ignore-db会触发,在replicate-do-db中也会触发。

2. 官方承诺会在5.6.30和5.7.12修复,具体未测。

 

使用版本为5.1.46 opensuse

解决;

使用do-db,只复制需要的库,暂时是可以了,之后再观察。

用一个例子来演示会更加清晰