[分享]MySql数据库同步复制 _MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2383 | 回复: 0   主题: [分享]MySql数据库同步复制         下一篇 
xiaoyang
注册用户
等级:上士
经验:253
发帖:75
精华:0
注册:2011-10-19
状态:离线
发送短消息息给xiaoyang 加好友    发送短消息息给xiaoyang 发消息
发表于: IP:您无权察看 2014-11-17 11:09:23 | [全部帖] [楼主帖] 楼主

该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。

数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(windows下为my.ini,Unix/Linux下为my.cnf)

1、实施环境:

  操作系统:2台linux AS 4[up3]

mysql:mysql-4.1.15.tar.gz
SvrA ip:192.168.1.10
SvrB ip:192.168.1.11


2、配置方法

Demo 1:主从模式[Master->Slave]:A->B

=====step 1:分别在SvrA、SvrB上配置同步DB及Account=====

Step A:SvrA上配置

  1.增加一个用户最为同步的用户帐号:

GRANT FILE ON *.* TO backup.user@''''192.168.1.11'''' IDENTIFIED BY ‘rsync.mysql’;


  2.增加一个数据库作为同步数据库:

create database backup;


  Step B:SvrB上配置

  1.增加一个用户最为同步的用户帐号:

GRANT FILE ON *.* TO backup.user@''''192.168.1.10'''' IDENTIFIED BY ‘rsync.mysql’;


  2.增加一个数据库作为同步数据库:

create database backup;


    ====step 2:配置Master、Slave参数====== 

主从模式:A->B即  SvrA为master ,SvrB为slave

  1、修改SvrA 中mysql的my.cnf文件。在mysqld配置项中加入下面配置:

server-id=1
log-bin
binlog-do-db=backup



Log-bin #设置需要记录log 可以设置log-bin=/Data/logs/mysqllog 设置日志文件的目录[其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件]。
binlog-do-db=backup #指定需要日志的数据库


  配置完后重起数据库服务。

  用show master status 命令看日志情况。

  2、修改SvrB中 mysql的my.cnf文件。在mysqld配置项中加入下面配置:

server-id=2
master-host=192.168.1.10
master-user=backup.user #同步用户帐号
master-password=rsync.mysql
master-port=3306


  master-connect-retry=10 预设重试间隔10秒

  replicate-do-db=backup 告诉slave只做backup数据库的更新

  配置完后重起数据库

  用show slave status看同步配置情况。

  注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info

  所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

Demo 2、双机互备模式。

  如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。

  在A的配置文件中 mysqld 配置项加入以下设置:

master-host=192.168.1.11
master-user=backup.user
master-password=rsync.mysql
replicate-do-db=backup
master-connect-retry=10


  在B的配置文件中 mysqld 配置项加入以下设置:

log-bin
binlog-do-db=backup


  注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start

  重起AB机器,则可以实现双向的热备。

注:

1、 在处理Slave中MYSQL,默认是启用server-id=1,所以将其修改为server-id=2

2、 在测试时,可以测试一下互连状态

Mysql –h ServerA/B –u backup.user –p


3、 关于Master->多个Slave,可以参考MYSQL官方文档

推荐1、http://dev.mysql.com/doc/

2、http://www.mysql.com/why-mysql/white-papers/

3、http://www.mysql.com/products/database/cluster/

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论