mysql主从复制中maste、slave中的主要配置参数

master配置参数:

log-bin

binlog文件名前缀,可以是全路径或相对路径

log-bin=mybinlog

log-bin=/data/mysql/test-3306/mybinlog

不可在线动态修改

server-id

复制集群中的唯一对象ID,同一集群内不可重复

可在线动态修改

log-bin-index

binlog索引文件前缀名,和log-bin一样,可以是全路径或相对路径

不可在线动态修改

binlog_format

binlog格式,可选statement、row、mixed

可在线动态修改,也可在每个session自行定义

binlog_cache_size

binlog写磁盘前的cache区域,缓解频繁写带来的IO压力

可在线动态修改

max_binlog_size

限制单个binlog大小,默认1G

可在线动态修改

sync_binlog=N

N个SQL之后,调用fdatasync()函数刷新binlog到disk

需要保证数据安全性的时候,需要设置为1

可在线动态修改

expire_logs_days=N

自动删除N天前的binlog

可在线动态修改

log_bin_trust_function_creators

开启binlog时,是否允许创建存储程序(除非有super权限,或指定deterministic、reads sql data、no sql)

可在线动态修改

master其他参数:

auto_increment_increment

auto_increment_offset

binlog-do-db

binlog-ignore-db


slave配置参数:

log_slave_updates

slave会把复制事件再次生成本地的binlog

relay_log_recovery

slave崩溃或正常重启时,未应用完的relay log会被删掉,重新从master请求binlog再次relay log,防范主从数据不一致

skip-slave-start

slave在mysqld启动后,不立即启动复制线程

slave_transaction_retries

slave复制中,如果因为innodb死锁或者锁超时导致复制线程执行的事务失败重试次数

slave_parallel_workers

mysql5.6引入基于库并发复制的功能,默认是关闭的

read-only

只读打开,但对有super权限的用户无效

slave_net_timeout

slave和master网络超时的时间,默认一小时

slave_skip_errors

slave复制中,忽略某些错误,如1032(更改的数据不在)、1062(主键冲突)

ddl_exist_errors=1007,1008,1051,1054,1060,1034,108,1094,1146

log-slow-slave-statements

默认复制慢语句不会记录到慢日志中,启动该功能,会把复制中超过long_query_time的语句记录到慢日志中

max_relay_log_size

设置relay log的最大大小,建议不设置

relay_log_purge

默认开启,relay log使用完后会自动删除

relay_log_space_limit

限制relay log占用磁盘的总大小

slave_load_tmpdir

对于复制load data infile语句,slave指定创建临时文件的目录,默认是tmpdir

slave其他参数

relay_log_index

sql_slave_skip_counter

log-slow-slave-statements

relay_log_purge

replicate-do-db/table

replicate-ignore-db/table

replicate-rewrite-db

replicate-wild-db-table

replicate-wild-ignore-table


译者介绍:家华,从事mysqlDBA的工作,记录自己对mysql的一些总结

你可能感兴趣的:(mysql主从复制中maste、slave中的主要配置参数)