Chinaunix首页 | 论坛 | 博客
  • 博客访问: 113566
  • 博文数量: 53
  • 博客积分: 2062
  • 博客等级: 大尉
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 10:14
文章分类

全部博文(53)

文章存档

2011年(1)

2010年(3)

2009年(49)

我的朋友

分类: Mysql/postgreSQL

2009-05-31 14:14:13


MYSQL支持单向、异步复制,复制过程中一个充当主, 而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护日志文件的一个索引以跟踪日志循环。当一个从服务器连接到主服务器时,它 通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知下一次更新。

  在实际项目中,两台分布于异地的主机上安装有MYSQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MYSQL的同步功能实现双机的同步复制。

  以下是操作实例:

  1、数据库同步设置

  主机:RedHat Enterprise Linux 5

  数据库版本:mysql Ver 14.12 Distrib 5.0.22

  前提:MYSQL数据库正常启动

  假设两台主机地址分别为:

  ServA:10.240.136.9

  ServB:10.240.136.149

  1.1 配置同步账号

  在ServA上增加一个ServB可以登录的帐号:

  Mysql>GRANT all privileges ON *.* TO tongbu@'10.240.136.149' IDENTIFIED BY '123456';

  在ServB上增加一个ServA可以登录的帐号:

  Mysql>GRANT all privileges ON *.* TO tongbu@'10.240.136.9' IDENTIFIED BY '123456';

  1.2 配置数据库参数

  1、 以root用户登录ServA,修改ServA的my.cnf文件

  vi /etc/my.cnf

  在[mysqld]的配置项中增加如下配置:

1 default-character-set=utf8
2
3   log-bin=mysql-bin
4
5   relay-log=relay-bin
6
7   relay-log-index=relay-bin-index
8
9   server-id=1
10
11   master-host=10.240.136.149
12
13   master-user=tongbu
14
15   master-password=123456
16
17   master-port=3306
18
19   master-connect-retry=30
20
21   binlog-do-db=umsdb
22
23   replicate-do-db=umsdb
24
25   replicate-ignore-table=umsdb.boco_tb_menu
26
27   replicate-ignore-table=umsdb.boco_tb_connect_log
28
29   replicate-ignore-table=umsdb.boco_tb_data_stat
30
31   replicate-ignore-table=umsdb.boco_tb_log_record
32
33   replicate-ignore-table=umsdb.boco_tb_workorder_record





ChinaUnix-ITpub网站MySQL技术征文大赛

作者:IT168 Rual_true 
阅读(884) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~