监控安装 ERP

系统集成论坛

 找回密码
 注册通行证

QQ登录

只需一步,快速开始

路由器交换机防火墙系统集成商城 优质产品采购平台
查看: 3602|回复: 0
打印 上一主题 下一主题

windows server 2003下配置MySQL双机热备

[复制链接]
跳转到指定楼层
1
发表于 2011-9-5 16:14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
华为金牌代理
一、测试环境
    A windows 2003 sp2  mysql-5.0.18 IP 172.16.0.114
    B windows 2003 sp2  mysql-5.0.18 IP 172.16.0.126
    安装过程博客中Mysql安装图解
二、配置
锁定数据库A
mysql> FLUSH TABLES WITH READ LOCK;


将A上要同步的数据库备份,并在B上还原。保证两个数据库相同。
在mysql的安装目录下建立log文件夹,保存log。(后面要用到)


1.在两台机器上分别建立用于复制的账号,命令如下:
A上
mysql>grant replication slave on *.* to 'backup'@'172.16.0.126' identified by '654321';
B上
mysql>grant replication slave on *.* to 'backup'@'172.16.0.114' identified by '654321';
然后分别在SA,SB上进行测试
mysql -h172.16.0.114(126) -ubackup -p654321
如果成功,则表明账号有效,否则需要重新添加用户




2.停掉A机器上的mysql服务,编辑A的my.ini文件,在mysqld下添加如下信息:


####mysql backup###########


server-id=1 (主服务器ID,不能重复)
binlog-do-db=mytest (要复制的库)
log-bin="E:\MySQL Server 5.0\log\log" (log文件存放处,最后的log是日志文件名,前面一个log是文件夹)
master-host=172.16.0.126   (设置要同步的主机 B)
master-user=backup           (备份用的用户名,前面设置的)
master-password=654321        (备份用户名即backup的密码)
master-port=3306                (使用端口)
master-connect-retry=60         (重新连接的时间)
replicate-do-db=mytest           (要同步的数据库)


重启mysql服务。在log目录下会看到类似log.000001,log.index的文件,data目录下也会有*.info,*-relay-bin.000001,*-relay-bin.index的文件。如果两个目录都有说明配置正确。


然后把数据库的锁定打开
mysql> UNLOCK TABLES;

停掉B机器上的mysql服务, 然后编辑B的my.ini文件,


############mysql backup############


server-id=2
binlog-do-db=mytest
log-bin="E:\MySQL Server 5.0\log\log"


master-host=172.16.0.114
master-user=backup
master-password=654321
master-port=3306
master-connect-retry=60
replicate-do-db=mytest


重启mysql服务。在log目录下会看到类似log.000001,log.index的文件,data目录下也会有*.info,*-relay-bin.000001,*-relay-bin.index的文件。如果两个目录都有说明配置正确。


连接到mysql,输入命令:show slave status\G
分别在两台服务器上查看Slave_IO_Running:    Slave_SQL_Running:是否同时为YES,如果不是,刚需要重新配置




此时即可测试,在A中插入数据,看是否已经同步到B服务器上。


#########################
1. A B 互为主从同步test, 不同步mysql:
两个数据库配置中均设置:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql

2. A B 互为主从只同步test,不同步其他数据库,新创建的也不会同步
两个数据库配置中均设置:binlog-do-db=test,replicate-do-db=test

3. A B 互为主从不同步mysql, 同步其他数据库,譬如创建的新数据库也会同步
两个数据库配置中均设置:binlog-ignore-db=mysql,replicate-ignore-db=mysql

4. A B 互为主从同步所有数据库,包括新建的数据库
两个数据库配置中均不设置上述四项





在A机的my.ini中添加
server-id=1
log-bin=/var/mysqltmp #同步事件的日志记录文件
binlog-do-db=test1 #提供数据同步服务的数据库
binlog-do-db=test2 #提供数据同步服务的数据库
binlog-do-db=test3 #提供数据同步服务的数据库
master-host=192.168.0.102 #主机B的地址
master-user=use102 #主机B提供应B的用户,该用户中需要包括数据库test1 test12test3的权限
master-password=usepwd102 #访问密码
master-port=3306 #端口,主机的MYSQL端口
master-connect-retry=60 #重试间隔60秒
replicate-do-db=test1 #同步的数据库
replicate-do-db=test2 #同步的数据库
replicate-do-db=test3 #同步的数据库


#################################
如果只做单向备份
A my.ini设置如下
####mysql backup###########


server-id=1
binlog-do-db=mytest
log-bin="E:\MySQL Server 5.0\log\log"
在log目录下会看到类似log.000001,log.index的文件
B my.ini设置如下:
############mysql backup############


server-id=2


master-host=172.16.0.114
master-user=backup
master-password=654321
master-port=3306
master-connect-retry=60
replicate-do-db=mytest
data目录下也会有*.info,*-relay-bin.000001,*-relay-bin.index的文件
设置后,在B机器开启slave 命令: slave start;
然后分别在A,B机器上查看 show master status\G,show slave status\G,查看状态是否正常。
我分享,我成长!系统集成 XTJC.COM
您需要登录后才可以回帖 登录 | 注册通行证

本版积分规则

联系我们| 手机版|系统集成论坛 ( 京ICP备11008917号 )

GMT+8, 2024-7-5 00:44 , Processed in 0.103206 second(s), 28 queries .

系统集成论坛

BBS.XTJC.COM

快速回复 返回顶部 返回列表