MySQL数据库实现双向自动同步

 

下载网站:www.SyncNavigator.CN 

 客服QQ1793040

----------------------------------------------------------

 

 

关于HKROnline SyncNavigator 注册机价格的问题


HKROnline SyncNavigator 8.4.1 企业版数据同步软件 自2009年第一个版本开发出来以来,经过8年不断地根据客户需求,加强功能,修复bug,现在已经具备强大的数据库同步功能,以前官方syncnavigator授权码的价格是2800元一套,授权码是绑定电脑硬件的,更换硬件或者电脑,软件无法正常运行,需要重新购买授权码。

今年官方团队有其他项目,没有重点开发市场,其中一个以前官方团队的程序员开发了syncnavigator注册机,用这款注册机也能进行syncnavigator授权激活,功能和以前官方,没有任何影响,只是改变了授权方式。

因为这个版本的syncnavigator注册机是程序员自己开发的,因而成本比以前官方成本要小,并且没有做过多市场开发营销,所以价格相对以前来说优惠很多,这对于有数据同步需求的公司和团队来说,无疑是巨大的福音。

因为这款HKROnline SyncNavigator 软件是目前为止,国内做的最好的数据库同步软件,傻瓜式同步数据库,只需要你设置好来源数据库和目标数据库的账号和密码,一键开启,后台自动同步,断点续传,增量同步,几乎不占内存和CPU资源。并且还支持异构数据库,也可以同步部分表或者部分字段,都可以进行更为精准的设置操作。

 

SyncNavigator 数据酷同步工具 做数据同步时所支持的数据库类型:

支持sqlserver 2000-2014所有版本,全兼容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。

来源数据库和目标数据库可以版本不同,比如:来源数据库是sqlserver 2012  目标数据库是mysql 5.5 ,都是可以的, SyncNavigator 支持跨数据库版本,无缝传输数据。

只需要能连接上数据库, SyncNavigator 可以安装在第三方电脑上,来源数据库和目标数据库电脑上可以不用安装程序。

设置好数据库连接地址,点击测试连接,能脸上来源数据库和目标数据库, SyncNavigator 就能进行高效数据传输服务

【IT168 技术】本文将探讨如何通过MySQL数据库的高级特性,实现数据库的双向自动同步,确保数据的冗余与完整性。通过以往真实的项目实战与经验,把操作实施过程全部记录下来,主要有以下几个主要内容。

  1、简介

  2、MySQL的环境准备

  3、MySQL的配置

  4、MySQL的测试

  一、简介

  1、背景介绍

  最近接到一个项目,由于项目本身所用软件均为开源,所以在数据库选择上也采用了业界通用的开源数据库软件MySQL作为其后台数据存储仓库。为了确保数据的安全性和及时性,我们需要配置如何实现两台MySQL数据库内容的双向自动同步与监控,来保障数据库的数据冗余和数据安全。

  2、MySQL介绍

  MySQL数据库是业界著名的开源关系型数据库之一,也是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,而不是将所有的数据放在一个大仓库中,这样就增加了速度提高了灵活性,搭配PHP和Apache可以组成良好的开发环境。

  3、基本概念

  为了更好的理解和配置MySQL,需要提前了解以下概念,由于我们在项目中使用的功能有限,所以仅介绍一些基本概念。

  3.1 视图

  视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询(即:包含一 个SQL查询),仅仅是用来查看存储在别处的数据的一种设施。视图可以嵌套,但不能索引,也不能有关 联的触发器或默认值。并非所有视图都是可更新的,如果MySQL不能正确确定被更新的基数据,则不允 许更新(包括插入和删除)。视图不能更新的情况:(1)分组,使用GROUP BY和HAVING;(2)联接; (3)子查询;(4)并;(5)聚集函数,Min/Count/Sum等;(6)DISTINCT;(7)导出列。

  3.2 存储过程

  存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合(实际上是一种函数),可将其视为批处理文件,虽然它们的作用不仅限于批处理。使用存储过程有3个主要的好处:简单、安全、高性能。比如启动的服务,相关的设定等。

  3.3 触发器

  触发器是MySQL响应DELETE/INSERT/UPDATE语句而自动执行的一条MySQL语句(或位于BEGIN/END间的一组语句)。只有表才支持触发器,视图不支持,临时表也不支持。触发器按每个表每个事件每次地定义,每个表每个事件每次只允许一个触发器,所以每个表最多支持6个触发器(每条INSERT、UPDATE和DELETE的之前和之后)。单一触发器不能与多个事件或多个表关联。

  4、MySQL的结构图

  为了更好的了解和配置MySQL,就必须先了解一下MySQL的体系结构。如下图所示:

MySQL数据库实现双向自动同步_第1张图片
▲MySQL体系架构图

  理解MySQL的体系架构对于成功的配置和调试至关重要。以下将对架构图进行简要的说明:

  ① Connectors指的是不同语言中与SQL的交互接口,例如适用于Java的JDBC,.Netframework的ODBC。

  ② Management Serveices & Utilities:系统管理和控制工具集合,例如备份还原,安全复制等功能。

  ③ Connection Pool:连接池,用于管理缓冲用户连接,线程处理等需要缓存的需求。

  ④ SQL Interface:SQL接口,用于接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface。

  ⑤ Parser:解析器,用于SQL命令传递到解析器的时候会被解析器验证和解析。解析器是由Lex和YACC实现的,是一个很长的脚本。

  ⑥ Optimizer:查询优化器,用于SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。

  ⑦ Cache和Buffer:查询缓存,如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等。

  ⑧ Engine:存储引擎,存储引擎是MySql中具体的与文件打交道的子系统。也是Mysql最具有特色的一个地方。Mysql的存储引擎是插件式的。它根据MySql提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)。现在有很多种存储引擎,各个存储引擎的优势各不一样,最常用的MyISAM,InnoDB,BDB。

  二、MySQL环境准备

  为了便于看到效果,此文中我们将提前安装两个带有MySQL软件的Redhat6.5操作系统作为AB两个数据库服务器。操作系统和MySQL的安装并非此文章的介绍重点,详细安装步骤可以参照此链接(http://www.mysql.com/downloads/)。

  以下架构,简单描述了两台MySQL服务器自动同步数据的过程。

  1、硬件列表 

MySQL数据库实现双向自动同步
▲Master数据库服务器

MySQL数据库实现双向自动同步
▲ Slave数据库服务器

  2、逻辑部署架构图

MySQL数据库实现双向自动同步_第2张图片
▲ MySQL同步逻辑架构图

  三、MySQL 的数据库同步配置

  1、配置Develop数据库同步

  配置的前提是,我们已经顺利的将MySQL组件安装到了两个不同的系统中,并分别创建了developDB和testingDB同时建议将selinux功能关闭,开放所有的防火墙。通过ssh指令,可以远程登录到安装好的Linux服务器,可以通过如下指令,检查MySQL是否安装及其版本。

MySQL数据库实现双向自动同步
▲软件及版本检查

  1、首先开始对开发数据库设置开发数据库同步,通过Linux自带的VI工具打开MySQL的配置文件。

  my.cnf,路径为/etc/my.cnf。添加以下内容:

  server-id=1 (mysql标示)

  log-bin=mysql-bin(开启log-bin二进制日志文件,默认存在/var/lib/mysql下日志文 件以mysql-bin为开头)

  binlog-do-db =developDB(developDB为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db =testing)

  # binlog-ignore-db=db_name (不进行同步日志的数据库,不需要的话注释掉)

  max-binlog-size=104857600(日志的大小,超出会自动生成一个新的)

  master-host=192.168.2.4(同步主机)

  master-user=develop(同步用户)

  master-password=*****(同步用户密码)

  master-port=3306

  replicate-do-db=developDB(同步数据库)

  修改完后保存退出,并重启mysql 如:service mysql restart (重启正常,表示配置没错误)

  2、在作为开发数据库的mysql上建立一个账户专门用于测试数据库来进行数据同步。

MySQL数据库实现双向自动同步
▲授权访问

  在测试数据库上测试账户develop是否可以访问开发数据库上的mysql。

  mysql -u develop -p -h 192.168.2.4(输入密码***,可以访问说明设置正确)

  2、配置Testing数据库同步

  通过ssh指令,可以远程登录到安装好的另一台Linux服务器,可以通过如下指令,检查MySQL是否安装及其版本。

MySQL数据库实现双向自动同步
▲软件及版本检查

  1、首先开始对测试数据库设置数据库同步,通过Linux自带的VI工具打开MySQL的配置文件

  my.cnf,路径为/etc/my.cnf。添加如下内容:

  server-id= 2 (mysql标示,不能出现重复)

  log-bin=mysql-bin(开启log-bin二进制日志文件,默认存在/var/lib/mysql下日志文件以mysql-bin为开头)

  binlog-do-db = developDB(developDB为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db=testing)

  max-binlog-size=104857600(日志的大小,超出会自动生成一个新的

  master-host=192.168.2.3 (同步Master的ip地址)

  master-user=develop(同步所需的账号)

  master-password=***** (同步账号的密码)

  master-port=3306 (mstart 中mysql的访问端口)

  replicate-do-db=developDB (所需同步的数据库名)

  master-connect-retry=60 (主服务器宕机或连接丢失的情况下,从服务器线程重新尝试连接主服务器之前睡眠的秒数。

  log-bin=mysql-bin (开启log-bin二进制日志文件)

  修改完后保存退出,并重启mysql,service mysql restart (重启正常,表示配置没错误)

你可能感兴趣的:(MySQL数据库实现双向自动同步)