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 支持的。