日期:2014-05-16  浏览次数:20981 次

MYSQL使用心得(八)----在线主从复制集群的配置与恢复及主主配置
在线执行主从配置
FLUSH TABLES WITH READ LOCK;
UNLOCK TABLES;

在从库数据文件夹下,有个master.info文件,是从机器上特有的。

重置从库:用于让从属服务器忘记其在主服务器的二进制日志中的复制位置, 它会删除master.info和relay-log.info文件,以及所有的中继日志,并启动一个新的中继日志,当你不需要主从的时候可以在从上执行这个操作。
reset slave;

重新配置主库(删除binlog)
reset master;

查看复制日志
show binlog events in 'mysql-bin.000004' \G;



主主配置
需要注意配置
[mysqld]
# 步进值
auto_increment_increment=2
# 起始偏移量
auto_increment_offset=1

# 使从服务器把复制的事件记录到自己的二进制日志中
log_slave_updates=1

自动删除binlog
设置自动清理MySQL binlog日志,配置my.cnf:
expire_logs_days = 10


在线进行主从恢复
1)首先要锁主库的表
FLUSH TABLES WITH READ LOCK;

2)然后复制主库的物理文件到从库上,保持数据文件一致。(建议使用mysqldump,可以保证数据的一致性)

3)记录下主库的

master_log_file
master_log_pos

4)解锁主库的表,此时虽然从库没有完成配置,但是写入数据也没有关系,我们已经记录下了bin-log的偏移位置。
UNLOCK TABLES;

5)从库新配置主从



附加阅读

在从库数据文件夹下,有个master.info文件,是从机器上特有的。

重置从库:用于让从属服务器忘记其在主服务器的二进制日志中的复制位置, 它会删除master.info和relay-log.info文件,以及所有的中继日志,并启动一个新的中继日志,当你不需要主从的时候可以在从上执行这个操作。
RESET SLAVE;

在线进行主主复制恢复
同上,锁表,拷贝相同的物理文件(建议使用mysqldump,可以保证数据的一致性),同时记录下2

master_log_file
master_log_pos

然后解锁

配置主从同步