查看Federated引擎是否安装
mysql>show engines;
可以看出服务器当前并未安装Federated引擎
安装Federated引擎
mysql> install plugin federated soname ‘ha_federated.so’;
查看本地数据库是否开启FEDERATED引擎
mysql>show engines;
此处可以看到FEDERATED引擎已经开启(本地开启过了,实际情况初次安装是未开启状态) 如果没有开启 Windows操作系统:在my.ini配置文件中添加“federated” Linux操作系统:vi /etc/my.cnf,加入一行federated,保存并退出重启mysql服务
mysql>service mysqld restart
再次查看(已经开启):mysql>show engines;
使用FEDERATED建表语句实现数据库映射此处需要注意的一点,映射表的操作会同时对A库–B库建立映射关系的表同步操作,两表数据完全一直。如需对某库的表操作权限设置,请创建操作用户授权时授对应权限。
语法
CREATE TABLE (......) ENGINE =FEDERATED ConNECTION=\'mysql://[name]:[pass]@[location]:[port]/[db-name]/[table-name]\' name--mysql用户名pass--mysql密码location--ipport:端口号db-name:数据库名table-name:表名 PS:创建的表名和远程访问的表名可以不同。
例:
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://newuser:NewUser(123456)@127.0.0.1:3306/test_a/user\';