相关文章

windows下Mysql双机热备数据同步助力深圳服务器托管或深圳服务器租用

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。(后面要用到)

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

如果成功,则表明账号有效,否则需要重新添加用户-美国云主机

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

server-id=1 (主服务器ID,不能重复)

binlog-do-db=mytest (要复制的库)

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

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的文件。如果两个目录都有说明配置正确。

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

#########################

两个数据库配置中均设置:binlog-do-db=test, binlog-ignore-db=mysql,replicate-do-db=test,replicate-ignore-db=mysql

2. A B 互为主从只同步test,不同步其他数据库,新创建的也不会同步

3. A B 互为主从不同步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目录下会看到类似log.000001,log.index的文件

############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的文件

然后分别在A,B机器上查看 show master status\G,show slave status\G,查看状态是否正常。