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
然后解锁
配置主从同步