基于MySQL数据库FEDERATED引擎数据同步
简介
FEDERATED存储引擎访问在远程数据库的表中的数据,而不是本地的表。这个特性给某些开发应用带来了便利,你可以直接在本地构建一个federated表来连接远程数据表,配置好了之后本地表的数据可以直接跟远程数据表同步。实际上这个引擎里面是不真实存放数据的,所需要的数据都是连接到其他MySQL服务器上获取。类似于ORACLE的DBLINK。
目的
在本地操作远程数据库。
部署
数据库配置
准备数据库
源数据库 A
本地数据库 B
开启本地数据库(B)Federated引擎
下图表示已经开启Federated引擎
(如果没有开启引擎,请在MySQL安装目录下,找到my.ini文件,打开配置文件,在[mysqld]下方添加federated配置)
建表
在本地数据库(B)创建表
DROP TABLE IF EXISTS `test`;
CREATE TABLE `test` (
`name` varchar(100) DEFAULT NULL,
`sex` varchar(1) DEFAULT NULL
) ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://root:123456@192.168.10.11:3306/demo/test';
参数说明
- 建表语句和传统建表语句无异
- CONNECTION部分参数说明
Mysql://username:pwd@ip:port/database/tablename
username:源数据库(A)用户名
pwd:源数据库(A)密码
ip:源数据库(A)地址
port:源数据库(A)端口
database:源数据库(A)库名
tablename:源数据库(A)映射的表名