1.查看federated引擎是否開啟
點擊進入Navicat並點擊鍵盤上F6,出現命令行界面 ,輸入指令:show engines;
2.開啟federated引擎
Windows系統 : 在my.ini中加入federated
3.建立映射表
在服務器A上有MySQL數據庫test_a,在服務器B上有MySQL數據庫test_b。現在需要將test_a庫中的user表數據映射到數據庫test_b中。此時需要在數據庫test_b中建立表user,注意ENGINE和CONNECTION。
CREATE TABLE user ( id int(11) NOT NULL, name varchar(30) NOT NULL, age int(11) NOT NULL, PRIMARY KEY (id) ) ENGINE=FEDERATED CONNECTION='mysql://test:123456@192.168.1.5:3306/test_a/user' DEFAULT CHARSET=utf8;
上面鏈接中test是鏈接數據庫用戶名稱;123456是密碼;192.168.1.5是數據庫服務器ip;3306是數據庫服務器端口;test_a是數據庫名稱;user是數據庫表名稱。
這里有一些連接字符串的例子:
CONNECTION='mysql://username:password@hostname:port/database/tablename' CONNECTION='mysql://username@hostname/database/tablename' CONNECTION='mysql://username:password@hostname/database/tablename'
4.服務器A上MySQL數據庫test_a設置可以遠程訪問,並給test用戶分配相關表的讀寫權限。
5.此時,修改test_b中的user表后,就可以在test_a中的user表中看到相關改動;同理,修改test_a中的user表后,就可以在test_b中的user表中看到相關改動。