复制信息记录表|全方位认识 mysql 系统库


复制信息记录表|全方位认识 mysql 系统库

文章插图
在上一期《时区信息记录表|全方位认识 mysql 系统库》中,我们详细介绍了mysql系统库中的时区信息记录表,本期我们将为大家带来系列第七篇《复制信息记录表|全方位认识 mysql 系统库》,下面请跟随我们一起开始 mysql 系统库的系统学习之旅吧!
1、复制信息表概述
复制信息表用于在从库在复制主库的数据期间,用于保存从主库转发到从库的二进制日志事件、记录有关中继日志当前状态和位置的信息 。一共有三种类型的日志,如下:
设置itory和ry设置为TABLE可以提高数据库本身或者所在主机意外终止之后crash 的能力(这两张表是表,可以保证crash之后表中的位置信息不丢失),且可以保证数据一致性 。
从库crash时,SQL线程可能还有一部分relay log重放延迟,另外,IO线程的位置也可能正处于一个事务的中间,并不完整,所以必须在从库上启用参数relay-log-=ON,启用该参数之后,从库crash 时会清理掉SQL线程未重放完成的relay log,并以SQL线程的位置为准重置掉IO线程的位置重新从主库请求 。
这两张表在数据库实例启动时如果无法被初始化,则允许继续启动,但会在错误日志中写入警告信息,这种情况在MySQL从不支持该表的版本升级到支持该表的版本时常常遇见 。
PS:
2、复制信息表详解
由于本期所介绍的表中存放的复制信息,在我们日常的数据库维护过程当中尤其重要,所以,下文中会在每张表的介绍过程中适度进行一些扩展 。
2.1.该表提供查询IO线程读取主库的位置信息,以及从库连接主库的IP、账号、端口、密码等信息 。下面是该表中存储的信息内容 。
root@localhost : mysql 01:08:29> select * from slave_master_info\G;*************************** 1. row ***************************Number_of_lines: 25Master_log_name: mysql-bin.000292Master_log_pos: 194Host: 192.168.2.148User_name: qfsysUser_password: letsg0Port: 3306Connect_retry: 60Enabled_ssl: 0Ssl_ca:Ssl_capath:Ssl_cert:Ssl_cipher:Ssl_key:Ssl_verify_server_cert: 0Heartbeat: 5Bind:Ignored_server_ids: 0Uuid: ec123678-5e26-11e7-9d38-000c295e08a0Retry_count: 86400Ssl_crl:Ssl_crlpath:Enabled_auto_position: 0Channel_name:Tls_version:1 row in set (0.00 sec)
表字段与show slave 输出字段、文件中的行信息对应关系及其表字段含义如下: 文件中的行数mysql.表字段show slave 命令输出字段字段含义描述
[None]
表示中的信息行数或者表中的信息字段数
表示从库IO线程当前读取主库最新的 file名称
表示从库IO线程当前读取主库最新的
Host
表示从库IO线程当前正连接的主库IO或者主机名
表示从库IO线程用于连接主库用户名
[None]
表示从库IO线程用于连接主库的用户密码
Port
表示从库IO线程所连接主库的网络端口
表示从库IO线程断线重连主库的间隔时间,单位为秒,默认值为60
表示主从之间的连接是否支持SSL
10
表示CA()认证文件名
11
表示CA()认证文件路径
12
表示SSL认证证书文件名
13
复制信息记录表|全方位认识 mysql 系统库

文章插图
表示用于SSL连接握手中可能使用到的密码列表
14
表示SSL认证的密钥文件名
15
rt
表示是否需要校验的证书
16
[None]
表示主从之间的复制心跳包的间隔时间,单位为秒
17
Bind
表示从库可用于连接主库的网络接口,默认为空
18
表示从库复制需要忽略哪些-id,注意:这是一个列表,第一个数字表示需要忽略的实例-id总数