init_slave

设定每次SQL thread启动时执行的语句。

log_slave_updates

是否将复制线程执行的内容记录到binlog。

log_slow_slave_statements

如果从库开启慢日志,是否将复制线程执行的慢SQL记录到慢日志。注意如果master的binlog格式是row,则无论log_slow_slave_statements是否开启都不会记录复制相关的慢日志。

slave_allow_batching

NDB引擎参数,控制是否开启复制线程批量更新。

slave_checkpoint_group

允许从库最多累积多少个事务才执行checkpoint,与slave_checkpoint_period配合,超过任何一个都将执行checkpoint,并将两者的计数器重置。

slave_checkpoint_period

允许从库最多经过多少毫秒才执行checkpoint,与slave_checkpoint_group配合,超过任何一个都将执行checkpoint,并将两者的计数器重置。

slave_compressed_protocol

是否启用主从之间的压缩协议,前提是主从都支持压缩协议。

slave_exec_mode

指定当从库复制出现冲突和错误时的做法,例如主键重复和更新找不到相关的行,可以取值IDEMPOTENT和STRICT。

IDEMPOTENT是幂等的意思,即出现冲突和错误,直接执行。而STRICT是报错。

slave_load_tmpdir

指定从库复制load data语句所用来创建临时文件的文件目录。

slave_max_allowed_packet

设置从库IO和SQL线程的数据包最大大小,使用row格式的binlog是以占用空间为特点,那么对于主库的一个很大的binlog event,即使超过了max_allowed_packet,但是没超过slave_max_allowed_packet,也不会有问题。

slave_parallel_type

控制并行复制的方式是,可取值database,logical_clock

slave_parallel_workers

控制并行复制线程数。设为0表示关闭并行复制。该参数需要重启复制线程生效。

slave_pending_jobs_size_max

每个slave worker时间队列最大长度。如果一个event超过了这个长度,那么需要等待所有slave worker队列清空后,才能开始执行。而这个事务后面的事务,都只能等待这个大事务执行完成。

slave_preserve_commit_order

控制从库是否按照relay log中的事务顺序来提交事务。修改该参数需要先停止所有从库线程。开启该参数的前提需要开启从库log_bin,log_slave_updates和slave_parallel_type=logical_clock。

slave_rows_search_algorithms

控制在复制row格式的binlog event时,从库使用什么算法去找到相关的行来执行DML。

slave_skip_errors

设置从库复制时跳过哪些错误,可以指定错误编码,或者ALL,OFF等。

slave_sql_verify_checksum

SQL thread是否针对当前复制的数据和relay log里的校验码进行校验。如果开启并校验失败,会导致从库复制报错。

slave_transaction_retries

从库复制执行事务时,如果由于死锁或者行锁等待超时而导致执行失败,会自动重新执行该事务slave_transaction_retries次,如果还不成功,才会报错并停止复制线程。

sql_slave_skip_counter

设置从库复制跳过多少个Event,通常是用来修复由于数据重复和数据行不存在等引起的被视为可以跳过的事务。