1、查询FEDERATED功能是否开启:
show ENGINES;
2、如果状态为NO则需修改my.ini文件,增加一行federated配置:
my.ini配置文件的默认路径 C:\ProgramData\MySQL\MySQL Server 5.7。ProgramData为隐藏文件夹,查看时需注意;
3、重启mysql服务,再次查询FEDERATED的状态,发现改为Yes;
4、在本地新建一个表作为远端服务器的“桥接表”:
栗子:
CREATE TABLE `federated_t_user` ( `user_name` varchar(20) NOT NULL COMMENT '容器编码', `pwd` varchar(20) DEFAULT '111111' COMMENT '密码', `status` smallint(6) DEFAULT '1' COMMENT '状态', PRIMARY KEY (`user_name`) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://root:root@192.168.1.110:3306/testdb/testtable';
一些参数的含义:
ENGINE:存储引擎。
CHARSET:字符集。
CONNECTION:连接的URL。
只需要对这张“桥接表”进行操作,远端的数据也会跟着修改~
需要注意的几点:
1、本地的表结构必须与远程的完全一样。
2、远程数据库目前仅限MySQL 。
3、不支持事务 。
4、不支持表结构修改 。
5、原表是INNODB也是被 FEDERATED 支持的。