本地服务器访问远程服务器的数据同步,即不同服务器,不同数据库,表结构一致数据实时同步。
1. 查看启Federated引擎是否安装 ;
mysql>show engines;
2. 查看出已安装FEDERATED,并且是YES启动状态;
如果没有安装FEDERATED,则需要安装:
mysql> install plugin federated soname ‘ha_federated.so’;
如果FEDERATED没有启动:
Windows操作系统:在my.ini配置文件中添加“federated”
3. 重启mysql服务 ;
mysql>service mysqld restart
4. 使用federated建表
CREATE TABLE `leaving_msg` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`leave_date` datetime DEFAULT NULL,
`leave_msg` text CHARACTER SET utf8 COLLATE utf8_bin,
`moblie` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=FEDERATED DEFAULT CHARSET=utf8
CONNECTION='mysql://数据库用户名称:数据库用户密码@远程数据库IP地址:3306/远程数据库名称/远程数据库中表名称';
5. 远程数据库表结构
CREATE TABLE `表名称` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`leave_date` datetime DEFAULT NULL,
`leave_msg` text COLLATE utf8_bin,
`moblie` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`username` varchar(255) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
需要注意的几点:
1. 本地的表结构必须与远程的完全一样。
2.远程数据库目前仅限MySQL
3.不支持事务
4.不支持表结构修改