注意
- federated引擎只能作为数据映射表,你可以理解成跨库的视图
- 尽量不要在federated引擎映射的表里执行写操作,除非你不需要用到事务
配置步骤
-
查询操作库是否有安装federated存储引擎
# 查看是否有federated项 mysql> show engines;
-
安装federated存储引擎
# 如已经安装则跳过这一步 mysql> install plugin federated soname 'ha_federated.so';
-
操作服务器启用federated引擎
[root@localhost ~] vim /etc/my.cnf # 新增此项 [mysqld] federated [root@localhost ~] systemctl restart mysql
-
同步测试
# 在存储库中创建数据表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `test` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; # 在操作库中添加镜像表[表结构与存储库保持相同] CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `test` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=federated DEFAULT CHARSET=utf8mb4 CONNECTION='mysql://[username]:[password]@[ipaddress]:[port]/[databases]/[tablename]';
如需更改数据结构时可以在【操作库】中将数据表删除后重新运行创建语句,数据不会被删除