MySQL几个与复制相关参数的解读
master-info-repository
默认值:FILE
当设置为TABLE,slave会将master的状态和连接信息写入 mysql.slave_master_info 表
当设置为FILE ,slave会将master的状态和连接信息写入 master.info 文件。
这个参数只有在复制线程停止工作才能更改。
当使用多复制通道(multiple replication channels)的时候,这个参数必须设置成TABLE.
1 |
|
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 |
|
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,不更新表。