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表中看到相关改动。