突然收到手机报警,说服务器同步出现问题,于是登陆到服务器上查看
执行show slave status\G;命令后发现如下错误:
Last_Error: Error 'Cannot add or update a child row: a foreign key constraint fails (`tuge`.`entitydatasourcemapping`, CONSTRAINT `FK_entitydatasourcemapping_datasource_new` FOREIGN KEY (`DataSourceName`) REFERENCES `datasource` (`Name`) ON DELETE CASCADE ON UPDATE CASCADE)' on query. Default database: 'tuge'. Query: 'insert into `entitydatasourcemapping`(`EntityName`,`DataSourceName`)
values ('FuTuoInfo','futuotech')'
很明显是由于外键的约束导致的同步出错,于是去查询datasource表的数据,发现两个表数据不一致,这样当datasource表没有记录的时候,在entitydatasourcemapping表上更新出现问题!可是为什么datasource表的数据会不一致呢,原来是因为上次设置同步的时候把这个表设置成不同步了!找到问题就好解决了,在datasource上增加一条记录,然后再在entitydatasourcemapping表上执行插入操作就OK了!