mysql 映射引擎_MySQL数据库开启FEDERATED引擎实现表映射

MySQL数据库FEDERATED存储引擎能让你访问远程的MySQL数据库而不使用replication或cluster技术(类似于Oracle的dblink),使用FEDERATED存储引擎的表,本地只存储表的结构信息,数据都存放在远程数据库上,查询时通过建表时指定的连接符去获取远程库的数据返回到本地.

查看FEDERATED引擎状态:

FEDERATED引擎默认是不开启的.我们可以通过MySQL客户端软件(Navicat或SQLyog),在查询编辑器中输入指定:

show engines;

查看FEDERATED引擎是否开启,如下图:

9d27d01bb199d69b917ce67c33276ddb.png

开启FEDERATED引擎:

1.Windows系统MySQL开启FEDERATED引擎

在MySQL安装目录重找到配置文件my.ini,在[mysqld]后面增加federated参数,然后重启数据库.

2.Linux系统MySQL开启FEDERATED引擎

找到MySQL配置文件,一般在/etc/my.cnf,通过vim /etc/my.cnf打开配置文件,并在[mysqld]后面添加federated参数,然后重启数据库.

重启之后,进入数据库再次执行命令

show engines;

可以看到数据库已经开启了FEDERATED引擎.

a00cf67436f4255bba92216d87cc813f.png

建立映射表

在开启FEDERATED引擎的MySQL服务器上面(数据库登录用户名root1,密码:123456)

1. 创建数据库a,在数据库a中创建表student

CREATE TABLE `student` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(20) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2. 创建数据库b,在数据库b中创建表结构student

CREATE TABLE `student` (

`id` INT(11) NOT NULL AUTO_INCREMENT,

`name` VARCHAR(20) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=FEDERATED

DEFAULT CHARSET=utf8mb4

CONNECTION='mysql://root1:123456@127.0.0.1:3306/a/student';

请注意创建数据库b中表student时的ENGINE和CONNECTION信息

3. 在数据库a的表student中插入一条记录,在数据库b的student中应该可以看到同样的数据;同理,如果修改数据库b中的student记录,在数据库a的表student中可以看到同样的修改.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值