MySQL开启federated引擎实现数据库表映射

Posted 水狼一族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL开启federated引擎实现数据库表映射相关的知识,希望对你有一定的参考价值。

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

以上是关于MySQL开启federated引擎实现数据库表映射的主要内容,如果未能解决你的问题,请参考以下文章

MySQLFederated引擎与Federated Server访问远程数据

Linux下MySQL开启Federated引擎方法

MySQL使用Federate引擎

利用MySQL之federated引擎实现DBLink功能

Mysql的跨服务器 关联查询--Federated引擎

MySQL存储引擎--------Federated最佳实战