故障现象
主从同步失败,报错如下
Error 'Unknown storage engine 'FEDERATED'' on query. Default database: 'test'. Query: 'create table test_federated(`id` int(20) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL DEFAULT '', `other` int(20) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `name` (`name`), KEY `other_key` (`other`)) ENGINE=FEDERATED CONNECTION='test_server/test_table''
故障原因
主库采用先创建server的方式创建federate引擎的表,结果create server时mysql默认不会记录binlog,也就是从库的mysql.servers记录传不到slave,那么当从库使用这个server创建federate引擎时,由于找不到对应的server记录而报错。
Error 'server name: 'test_server' doesn't exist!' on query. Default database: 'test'. Query: 'create table test_federated(`id` int(20) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL