用mysql的federated数据引擎和触发器实现远程服务器表数据同步

1,检查mysql是否支持federated数据引擎,若不支持可能需要修改mysql配置文件;
 -- 查看开启的储存引擎
 
   SHOW ENGINES;
  
   -- 若没有federated 引擎需要配置my.ini 文件。
   --在[mysqld]后面直接加federated,并且注释掉skip-federated(前面加#)

2,检查从库的权限及登录用户,密码能否使用。

3,在从库121.12.170.b 上创建一个表,这个最好在148.56.106.2的服务器使用远程mysql -uroot -h121.12.170.b登录来操作。

 CREATE TABLE `fed_user2` (  
  `uid` BIGINT(20) NOT NULL AUTO_INCREMENT,  
  `user_name` CHAR(17) DEFAULT NULL COMMENT '用户名',  
  `user_pwd` CHAR(32) DEFAULT NULL COMMENT '密码',  
  PRIMARY KEY (`uid`)  
) ENGINE=FEDERATED


4,在主库148.56.106.2 创建一个表

 CREATE TABLE `fed_user` (  
  `uid` BIGINT(20) NOT NULL AUTO_INCREMENT,  
  `user_name` CHAR(17) DEFAULT NULL COMMENT '用户名',  
  `user_pwd` CHAR(32) DEFAULT NULL COMMENT '密码',  
  PRIMARY KEY (`uid`) 
) ENGINE=FEDERATED CONNECTION='mysql://root:myroot@121.12.170.b:3306/maxhomSport/fed_user2';   


mysql://root:myroot@121.12.170.b:3306/maxhomSport/fed_user2 就是在148.56.106.2登录到121.12.170.b的3306端上的maxhomSport数据库的fed_user2表。

5,测试在148.56.106.2的服务器上的表fed_user上插入数据
INSERT INTO `maxhom_kaiyuan`.`fed_user` (`user_name`, `user_pwd`) VALUES ('aaaa', '111'); 
INSERT INTO `maxhom_kaiyuan`.`fed_user` (`user_name`, `user_pwd`) VALUES ('a2', '222'); 
INSERT INTO `maxhom_kaiyuan`.`fed_user` (`user_name`, `user_pwd`) VALUES ('a3', '3333'); 
刷新148.56.106.2的表,查看存盘是否成功。如果成功,在检查远程121服务器端的数据表fed_user2几个号否成功。
   uid  user_name  user_pwd  
------  ---------  ----------
     1  aaaa       111       
     2  a2         222       
     3  a3         3333      
 
按以上操作,检查是成功的。

6,反操作,向121服务器的表插入数据,检查148.56.106.2表的变动。 
在网络正常的情况,2边mysql都是start的情况下
148.56.106.2表有变化,121的表也有变化。2边的数据同步了
这个变化我有点想不通。
148.56.106.2是局域网,从121向148.56.106.2是ping不通的。但是在操作中121可以逆向写sql数据,很神奇。

7,断网人为制造故障测试 ,停121.12.170.b mysql下的服务器情况,向148.56.106.2的fed_user表插入数据。结果显示:
“Got error 10000 'Error on remote system: 2003: Can't connect to MySQL server on '121.12.170.b' (111)' from FEDERATED” 
结果为二边都不能插入数据。

       
       


 

转载于:https://my.oschina.net/7795442/blog/1510113

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值