文档章节

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

史帝文
 史帝文
发布于 2017/08/14 22:31
字数 531
阅读 22
收藏 0
点赞 0
评论 0

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” 
结果为二边都不能插入数据。

       
       


 

© 著作权归作者所有

共有 人打赏支持
史帝文
粉丝 6
博文 55
码字总数 21238
作品 0
武汉
后端工程师
MySQL federated引擎 --- 实现类似oracle dblink功能

1.查看是否安装了federated引擎 show engines; 2.开启federated引擎 windows下在my.ini中加入federated,即可开启; linux中,需要编译时加入选项,再在my.ini中加入federated,方可开启. 3.建...

shaohan ⋅ 2014/03/21 ⋅ 0

MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK.

1 引擎说明 本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的 数据库链接(DBLINK). 要允许这个存储引擎, 当构建MySQL时使用--with-...

SANSOM ⋅ 2013/08/21 ⋅ 4

MySQL远程表访问设置

使用MySQL FEDERATED存储引擎,没有对表的本地数据文件(比如,没有.MYD文件)。取而代之地,一个远程数据库存储那些正常地应该在表中的数据。这使得MySQL客户端API来读,删除,更新和插入数...

鉴客 ⋅ 2012/04/26 ⋅ 0

MySQL的FEDERATED引擎实现类Oracle的DBlink

随着业务的复杂度不断的增加、数据库不断的切分,在分布式系统中往往一台或几台数据库并不能满足我们的需求,所以常常需要多台同时时用,而在平时需要通过其它服务器的数据库获取信息最为方便...

往事_Jim_遗 ⋅ 2017/12/04 ⋅ 0

使用mysql federated引擎构建MySQL分布式数据库访问层(转)

使用mysql federated 引擎构建 MySQL 分布式数据库访问层 前言:随着应用复杂度的增加,数据库不断细化切分,导致应用程序中数据库应用就得复杂,凌乱。绝大部分程序人员可能都遇到这种情况,...

lilclimate ⋅ 2013/08/28 ⋅ 0

Mysql 开启Federated引擎的方法

MySQL中针对不同的功能需求提供了不同的存储引擎。所谓的存储引擎也就是MySQL下特定接口的具体实现。 FEDERATED是其中一个专门针对远程数据库的实现。一般情况下在本地数据库中建表会在数据库...

jerry__sun ⋅ 2014/02/27 ⋅ 0

MySQL内建的其他存储引擎

Archive 引擎: Archive存储引擎只支持INSERT和SELECT操作,在MySQL5.1之前也不支持索引。Archive引擎会缓存所有的写并利用zlib对插入的行进行压缩,所以比MyISAM表的磁盘I/O更少。但是每次S...

BearCatYN ⋅ 2015/01/11 ⋅ 0

如何选择合适的MySQL存储引擎

MySQL有多种存储引擎: MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL...

黄平俊 ⋅ 2009/05/07 ⋅ 0

SQL 约束,事务,触发器,存储引擎,多表查询

SQL约束 SQL约束主要有以下几种: NOT NULL: 用于控制字段的内容一定不能为空(NULL)。 UNIQUE: 控件字段内容不能重复,一个表允许有多个 Unique 约束。 PRIMARY KEY:也是用于控件...

木木侠 ⋅ 2016/08/11 ⋅ 0

PostgreSQL与MySQL比较

MySQL相对于PostgreSQL的劣势: PostgreSQL主要优势:   1. PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了Postg...

杨_静 ⋅ 2012/07/30 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android JNI 读写Bitmap的方法

Java层创建Bitmap,通过JNI将Bitmap传到C/C++进行处理 Java部分 public static native boolean greenBitmap(Bitmap bitmap); C/C++部分 JNIEXPORT jboolean JNICALL Java_com_test_Test_gree......

国仔饼 ⋅ 3分钟前 ⋅ 0

一次性让你懂async/await,解决回调地狱

什么是async? 欢迎留言讨论 async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。相较于 Generator,async 函数的改进在于下面四点: 内置执...

阿K1225 ⋅ 4分钟前 ⋅ 0

angular常用命令

.下载更新操作 1.利用npm下载angular的命令行工具AngularCLI: npm install -g @angular/cli 2.下载jquery: npm install --save jquery 3.更新npm: npm i -g npm 4.更新angular: ng update ......

消散了的诗意 ⋅ 6分钟前 ⋅ 0

window.print 页面打印

定义和用法 print() 方法用于打印当前窗口的内容。 语法 window.print(); window.print() 实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型...

初学者的优化 ⋅ 7分钟前 ⋅ 0

魔兽世界 7.0版本上 PVE装备全攻略

  T套 因为大家应该都会打穿副本的所以具体是哪个boss我就不说了。   T1: 所有套装都在【熔火之心】出   T2: 头原来是在【奥妮克希亚的巢穴】改到黑翼之巢的奈法利安了,腿是在【熔火之...

wangchen1999 ⋅ 7分钟前 ⋅ 0

java.math.BigDecimal使用小结

原文地址 java.math.BigDecimal使用小结 divide方法 使用BigDecimal.divide方法时一定要考虑: 除数是否为0 商是否是无限小数 正确的使用方式 判断除数是否为0,是0做另外的处理逻辑 调用除法...

666B ⋅ 10分钟前 ⋅ 0

关于qstring转char乱码问题。

if (OpenClipboard(NULL)) { HGLOBAL hgClip; EmptyClipboard(); QByteArray byay = FValue.toLocal8Bit(); //转latin编码 char *bochsrc_line = byay.data(); hgClip = GlobalAlloc(GMEM_DD......

backtrackx ⋅ 10分钟前 ⋅ 0

了解SSH加密和连接过程

介绍 SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和...

吴伟祥 ⋅ 16分钟前 ⋅ 0

微信小程序

小程序的基础配置:导航栏和tabbar 在app.json文件中配置导航栏和tabrbar 导航栏的设置 设置导航,背景黑色,文字白色,文字内容 { "pages":[ "pages/index/index", "pages/logs/l...

上官清偌 ⋅ 20分钟前 ⋅ 0

【转】百度坐标坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 *///定义一些常量var x_PI = 3.1415926535897932...

HAVENT ⋅ 21分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部