系统学习MySQL:1、mysql系统库之复制信息表

  复制信息表在从库复制主库的数据期间,用于保存从主库转发到从库的binlog(二进制日志)事件,记录有关relay log(中继日志)当前状态和位置的信息。
 
master.info文件或者mysql.slave_master_info表:用于保存从库的I/O线程连接主库的连接状态、账号、IP地址、端口、密码,以及I/O线程当前读取主库binlog的文件和位置信息(称为I/O线程信息日志)。在默认情况下,I/O线程的连接信息和状态保存在master.info文件中(默认位置在datadir下,可以使用master_info_file参数指定master.info文件路径。注:在MySQL 5.7.x较新的版本以及8.0.x版本中该参数已经被移除)。如果需要保存在mysql.slave_master_info表中,则需要在服务器启动之前设置 master_info_repository=TABLE
如果需要保存在
mysql.slave_relay_log_info表中,则需要在服务器启动之前设置relay_log_info_repository=TABLE
将relay_log_info_repository和master_info_repository设置为TABLE,可以提高数据库本身或者所在主机意外终止之后崩溃恢复的能力(这两个表是InnoDB表,可以保证崩溃之后表中的位置信息不丢失),且可以保证数据一致性。
 
当从库崩溃时,SQL线程可能还有一部分relay log重放延迟。另外,I/O线程的位置也可能正处于一个事务的中间,并不完整,所以必须在从库上启用参数
relay_log_recovery=ON。当启用该参数之后,从库崩溃恢复时会清理掉SQL线程未重放完成的relay log,并以SQL线程的位置为准重置I/O线程的位置,重新从主库请求
 
posted @   MySQL成长之路  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示