WEB开发网
开发学院数据库MySQL MySQL数据库两台主机同步实战 阅读

MySQL数据库两台主机同步实战

 2009-04-14 11:17:41 来源:WEB开发网   
核心提示:MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,MySQL数据库两台主机同步实战,而一个或多个其它服务器充当从服务器,主服务器将更新写入二进制日志文件,这就需要两台数据库的数据要实时保持一致,在这里使用MySQL的同步功能实现双机的同步复制,并维护日志文件的一个索引以跟踪日志循环,当一个从服务器连接到主

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

1 2 3 4  下一页

Tags:MySQL 数据库 主机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接