我的测试环境.基本上数据是瞬间同步,希望对大家有帮助
以下为引用的内容:
redhat 9.0
MySQL3.23.57
MySQL 数据同步备份
A 服务器: 192.168.1.2 主服务器 master
B 服务器: 192.168.1.3 副服务器 slave
A 服务器设置
以下为引用的内容:
#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有档案处理的权限
MySQLadmin –u root –p shutdown
备份 Master 所有数据库..通常都用 tar 指令。
#tar –cvf /tmp/mysql.tar /var/lib/MySQL
注意:tar 的时候,MySQL 是要在 stop 情况下
在 A 机器上修改/etc/my.cnf
在[MySQLd]区段内加入参数
以下为引用的内容:
log-bin
server-id=1
sql-bin-update-same
binlog-do-db=VBb
重启 A 服务器 MySQL
此时因为有加入 log-bin 参数,因此开始有 index 产生了,在/var/lib/MySQL 目录下有.index 档案纪录数据库的异动 log。
B 服务器设置
设定/etc/my.cnf
在[MySQLd]区段加入
以下为引用的内容:
master-host=192.168.1.2
master-user=backup
master-password=1234
master-port=3306
server-id=2
master-connect-retry=60 预设重试间隔60秒
replicate-do-db=vbb 告诉 slave 只做 VBb 数据库的更新
log-slave-updates
将 A 上的 MySQL.tar copy 到 B 上
用 ftp 传 B 的/tmp
9.解压缩
#cd /var/lib/
状况测试
1、A 跟 B 网络及服务都正常情况下,由 A 端变化数据后,到B端浏览数据,检视是否有进行 replication?!
2、模拟 B 当机,或是 B 不一定需要一直跟 A 有连接。
将由 A 端变化数据后,到 B 端浏览数据,B 点应该是没有数据变化的
以下为引用的内容:
#tar xvf /tmp/MySQL-snapshot.tar
#chown –R mysql:mysql MySQL
1重启 B 服务器的 MySQL
这时在/var/lib/MySQL 目录会出现 master.info,此档案纪录了 Master MySQL Server 的信息。
状况测试
1、A 跟 B 网络及服务都正常情况下,由 A 端变化数据后,到 B 端浏览数据,检视是否有进行 replication?!
2、模拟 B 当机,或是 B 不一定需要一直跟A有连接。
将由 A 端变化数据后,到 B 端浏览数据,B 点应该是没有数据变化的。
【注:本文由控件中国网转载】