- 论坛徽章:
- 0
|
整个AB复制基本步骤如下,我测试过也是OK的,能够实现AB数据自动同步:
A服务器操作:
用mysqldump备份A服务器上的数据:
# mysqldump -uroot -p1234 --master-data=2 --all-databases > /tmp/all.sql
# vim /tmp/all.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000002', MASTER_LOG_POS=874; #记住这一行
B服务器操作:
# mysql < /tmp/all.sql #导入数据到B服务器
mysql> flush privileges;
mysql> change master to
-> MASTER_HOST='192.168.0.1',
-> MASTER_USER='slave',
-> MASTER_PASSWORD='1234',
-> MASTER_LOG_FILE='mysqld-bin.000002',
-> MASTER_LOG_POS= 874, #利用'mysqld-bin.000002' 和位置874进行还原
-> MASTER_CONNECT_RETRY=10;
Query OK, 0 rows affected (0.02 sec)
现在有一个疑问:
'mysqld-bin.000002', MASTER_LOG_POS=874这个位置是什么时间点?
例如:10点开始从A运行mysqldump命令,10点30分生成一个all.sql文件, 10点到10点30分这段时间A服务器应该是锁表不能写,对吧?
10点30分生成all.sql后A服务器会自动解锁允许写操作,对吧?10点30分到10点40分恢复到B去,那么10点30到10点40分这段时间AB之间怎么保持数据一致? MASTER_LOG_POS=874这个位置记录的是什么时间点?是10点30分解锁那一刻吗?? |
|