Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2384392
  • 博文数量: 473
  • 博客积分: 12252
  • 博客等级: 上将
  • 技术积分: 4307
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-12 10:02
文章分类

全部博文(473)

文章存档

2012年(8)

2011年(63)

2010年(73)

2009年(231)

2008年(98)

分类: Mysql/postgreSQL

2009-04-16 22:06:36

今天做了一个测试,用两台电脑进行了mysql数据同步测试

A服务器: 192.168.1.2 主服务器master
B服务器: 192.168.1.3 副服务器slave

A服务器设置

1)建立一个可以用来同步的帐号

    #mysql –u root –p
    mysql>GRANT FILE ON *.* TO backup@192.168.1.3 IDENTIFIED BY ‘1234’;
    mysql>\exit

上面是Master开放一个账号backup密码1234给IP:192.168.1.3有档案处理的权限

如果想要在Slave上有权限执行 "LOAD TABLE FROM MASTER" 或 "LOAD DATA FROM MASTER" 语句的话,必须授予全局的 FILE 和 SELECT 权限:

mysql>GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO backup@192.168.1.3 IDENTIFIED BY '1234';


    在A机器上修改/etc/my.cnf
    在[mysqld]区段内加入参数

server-id=1  
log-bin  
binlog-do-db=backup  
#以下部分是把A机器配置为Slave
master-host=192.168.1.3
master-user=backup
master-password=1234
master-port=3306

a)server-id=1表示是本机的序号为1,一般来讲就是master的意思,server-id是同步数据库的唯一编号
b)log-bin表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;
c)binlog-do-db=backup 表示需要备份的数据库是backup这个数据库
重启A服务器mysql

B服务器设置

server-id=2
master-host=192.168.1.2
master-user=username  
master-password=password  
master-port=3306 #主服务器端口  
master-connect-retry=60 #同步时间间隔为60秒  
replicate-do-db=backup
log-bin
binlog-do-db=backup

解释一下上面的内容
a)server-id=2表示本机器的序号;
b)master-host=192.168.37.188 表示本机做slave时的master为192.168.37.188;
c)master-user=username   这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;
d)master-password=password 表示授权用户的密码;
e)master-port=3306  master上MySQL服务Listen3306端口;
f)master-connect-retry=60  同步间隔时间;
g)replicate-do-db=backup   表示同步backup数据库;
h)log-bin 打开logbin选项以能写到slave的 I/O线程;
i)binlog-do-db=backup 表示别的机器可以同步本机的backup数据库.
最后重启两台服务器
阅读(757) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~