简介
本文只是复制参数的一个简单介绍,而针对每一种或者没一类相关的参数,都需要一篇文章来详细描述。本文不包含半同步复制参数
log_slave_updates
控制从实例在回放主实例数据时,是否也写binlog,默认为false,不写binlog日志,并且不能动态修改。
log_slow_slave_statements
控制从实例在回放时,是否记录超过 long_query_time的sql语句。默认为关闭,可以动态修改,但是必须重启复制。
master_info_repository
控制MySQL存储链接信息,执行到的master binlog+pos信息的存储方式,默认是将这些信息存储在文件中,也可以存储在mysql.slave_master_info表中
如下:
mysql> select * from slave_master_info\G
*************************** 1. row ***************************
Number_of_lines: 25
Master_log_name: mysql-bin.000428
Master_log_pos: 322293772
Host: 127.0.0.1
User_name: repl
User_password: repl
Port: 13307
Connect_retry: 60
Enabled_ssl: 0
Ssl_ca:
Ssl_capath:
Ssl_cert:
Ssl_cipher:
Ssl_key:
Ssl_verify_server_cert: 0
Heartbeat: 15
Bind:
Ignored_server_ids: 0
Uuid: 1a4c1d12-7695-11e7-a1b6-ecf4bbea6648
Retry_count: 86400
Ssl_crl:
Ssl_crlpath:
Enabled_auto_position: 1
Channel_name: master_13307
Tls_version:
slave_compressed_protocol
控制主从复制过程中,是否开启日志传输压缩的功能,默认是关闭的,特别注意的是,在5.7.19之前,开启这个参数,会影响半同步复制的正常功能。
slave_exec_mode
控制主从复制出现错误时的处理方式,模式是STRICT,即严格模式。还有IDEMPOTENT,会忽略掉主键冲突,或者找不到相关值的错误,线上必须使用STRICT模式。
slave_load_tmpdir
控制主从复制过程中从机产生的临时文件的位置,默认是和数据库的tmpdir相同。比如在master执行load data infile命令时,如果使用的是statement格式的日志,则会产生临时文件。
slave_max_allowed_packet
从实例允许接收的最大的binlog event的大小,增长间隔为1023 byte,默认大小为1073741824
slave_net_timeout
slave实例用来检测master是否宕机,或者主从之间的网络是否异常,这个参数必须比主从复制的心跳设置要长,不然在写入不频繁的主从复制关系中,从机会经常报错。
slave_parallel_type
mysql支持基于库和基于逻辑时间戳的并行复制模式。
slave_parallel_workers
控制并行复制时的sql回放线程数。
slave_pending_jobs_size_max
此参数用于控制在多线程回放时,每一个sql线程的回放队列的binlog event大小。
slave_preserve_commit_order
此参数控制从机在进行多线程回放时,binlog的提交是否严格按照其在主库上的提交顺序,默认是关闭,可以提高从机回放的效率,但是线上建议打开。
slave_rows_search_algorithms
在基于行格式的主从复制中,从机选择什么样的算法来匹配数据,默认为TABLE_SCAN,INDEX_SCAN
.
slave_skip_errors
控制从实例sql回放过程中,跳过的错误类型,默认关闭,不跳过任何错误。可选参数比如all
,ddl_exist_errors
等。
slave_sql_verify_checksum
控制从实例sql回放时,是否去验证binlog event的checksum值是否正确。默认开启。
slave_transaction_retries
当sql回放遇到死锁或者锁等待超时时,重新执行的次数。
slave_type_conversions
控制主从复制过程中的类型转换,空值代表,如果发现主从的表结构不一致,则报错,ALL_LOSSY: 允许数据截断;ALL_NON_LOSSY: 不允许数据截断,如果从库类型大于主库类型,是可以复制的,翻过了,就不行了,从库报复制错误,复制终止;ALL_LOSSY,ALL_NON_LOSSY: 所有允许的转换都会执行,而不管是不是数据丢失;