master-info-repository

默认值:FILE
当设置为TABLE,slave会将master的状态和连接信息写入 mysql.slave_master_info 表
当设置为FILE ,slave会将master的状态和连接信息写入 master.info 文件。
这个参数只有在复制线程停止工作才能更改。
当使用多复制通道(multiple replication channels)的时候,这个参数必须设置成TABLE.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

mysql> select * from mysql.slave_master_info\G;
*************************** 1. row ***************************
Number_of_lines: 25
Master_log_name: mysql-bin.000008
Master_log_pos: 3613
Host: localhost
User_name: rpl
User_password: rpl
Port: 3306
Connect_retry: 60
Enabled_ssl: 0
Ssl_ca:
Ssl_capath:
Ssl_cert:
Ssl_cipher:
Ssl_key:
Ssl_verify_server_cert: 0
Heartbeat: 30
Bind:
Ignored_server_ids: 0
Uuid: d54fe35a-2a7c-11e7-b24b-000c29217b03
Retry_count: 86400
Ssl_crl:
Ssl_crlpath:
Enabled_auto_position: 1
Channel_name:
Tls_version:
1 row in set (0.01 sec)

relay-log-info-repository

默认值:FILE
当设置为TABLE,slave在relay_log中的pos信息将写入 mysql.slave_relay_log_info 表
当设置为FILE ,slave在relay_log中的pos信息将写入 relay-log.info 文件。
这个参数只有在复制线程停止工作才能更改。
当使用多复制通道(multiple replication channels)的时候,这个参数必须设置成TABLE.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

mysql> select * from mysql.slave_relay_log_info\G;
*************************** 1. row ***************************
Number_of_lines: 7
Relay_log_name: ./mysql-relay-bin.000016
Relay_log_pos: 940
Master_log_name: mysql-bin.000008
Master_log_pos: 3613
Sql_delay: 0
Number_of_workers: 0
Id: 1
Channel_name:
1 row in set (0.00 sec)

sync_master_info

默认值:10000

| master_info_repository =FILE | master_info_repository = TABLE |
当sync_master_info>0,slave 会在N个sync_master_info 事件执行完毕将master.info 同步到磁盘;

当 sync_master_info = 0,依赖os自身的同步机制

当 sync_master_info>0,slave在N个sync_master_info事件完成后更新mysql.slave_master_info表;

当 sync_master_info = 0,不更新表

sync_relay_log

控制slave上 relay_log 刷盘频率。

默认为10000,即每10000次sync_relay_log事件会将relay_log的内容刷新到磁盘。为0则表示不刷新,交由OS的cache控制。

 设置为1 是最安全的,但也是最慢的。

sync_relay_log_info

默认值:10000
当relay_log_info_repository=FILE时, 
N>0,slave每N个事务将relay-log.info刷到磁盘,
N=0,relay-log.info 内容刷盘由OS处理;

当relay_log_info_repository=TABLE时,
当使用事务引擎,则无论N为任何值,则会在每次事务结束后更新表,
当使用非事务引擎,且N>0,z则每N个事务后更新表,
当使用非事务引擎,且N=0,不更新表。