上课了解析mysql5.7新增参数配置

MySQL · yuyu5 · 于 10天前发布 · 54 次阅读

1:binlog_group_commit_sync_delay 全局动态变量,单位微妙,默认0,范围:0~1000000(1秒)。 表示binlog提交后等待延迟多少时间再同步到磁盘,默认0,不延迟。设置延迟可以让多个事务在用一时刻提交,提高binlog组提交的并发数和效率,提高slave的吞吐量。

2:binlog_group_commit_sync_no_delay_count 全局动态变量,单位个数,默认0,范围:0~1000000。 表示等待延迟提交的最大事务数,如果上面参数的时间没到,但事务数到了,则直接同步到磁盘。若binlog_group_commit_sync_delay没有开启,则该参数也不会开启。

3:check_proxy_users 全局动态变量,默认关闭。 表示是否开启代理用户的功能,后面会在安全性上面会介绍。

4:default_authentication_plugin——安全 全局变量,默认 mysql_native_password,可选:sha256_password 表示用户默认的认证方式,即加密方法,后面会在安全性上面会介绍。

5:default_password_lifetime——安全 全局动态变量,默认0,范围:0~65535,单位天。 表示用户密码的过期时间,默认关闭。设置为365表示用户密码一年之后会过期。

6:disabled_storage_engines 全局变量,默认空。 表示禁止创建指定的存储引擎,如:disabled_storage_engines="MyISAM,FEDERATED",如果服务器启动开启 --bootstrap, --initialize,--initialize-insecure, --skip-grant-tables 参数,disabled_storage_engines不起作用。

7:gtid_executed_compression_period——性能 全局动态变量,默认1000,范围:0~4294967295 表示每执行多少个事务,对 mysql.gtid_executed表进行压缩,默认值为1000。

8:have_statement_timeout——性能 全局变量,默认YES 表示是语句执行超时功能是否可用,默认开启。

9:innodb_adaptive_hash_index_parts——性能 全局变量,默认8,范围1~512。 表示自适应哈希索引开始支持分区,避免之前单个索引导致的锁争用问题,默认划分成8。最大设置为512。

10:innodb_buffer_pool_chunk_size——性能 全局变量,默认128M,范围:1M~innodb_buffer_pool_size / innodb_buffer_pool_instances 表示为了支持online buffer pool resize,引入chunk的概念,每个chunk默认是128M,当我们在线修改buffer pool的时候,以chunk为单位进行增长或收缩。innodb要求buffer pool size是innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances的倍数,如果不是,将会适当调大innodb_buffer_pool_size,以满足要求,因此,可能会出现buffer pool的实际分配比配置文件中指定的size要大的情况。

11:innodb_buffer_pool_dump_pct 全局动态变量,5.7.7开始默认25(百分比),之前为100(百分比)。范围:1~100(百分比) 表示控制备份buffer pool的百分比,更多的关于BP的预热可以看这篇文章。

12:innodb_default_row_format——性能 全局动态变量。5.7.9之后默认DYNAMIC,之前默认COMPACT。可选值有:DYNAMIC、COMPACT、REDUNDANT。COMPRESSED不被系统表空间支持,但可以创建普通表。可以通过show table status like 'tb'查看表的行格式。表示指定默认的 ROW_FORMAT,关于innodb各种的行格式,可以看这篇文章。

13:innodb_fill_factor 全局动态变量。默认100,范围:10~100 表示在每个b-tree页面排序索引构建期间其表空间的百分比,剩下的空间留给未来的指数增长。即当页填充比例到多少之后认为是满了。设置为100,会在页内留出1/16的空间用于未来的增长。就像innodb一个16K的页,最多会用15K,剩下的1K用来后续表索引的维护。对叶子和非叶子节点有效,对包含text、blog的溢出行无效。

14:innodb_flush_sync——性能 全局动态变量,默认为ON 表示在checkpoint的时候,不会受到innodb_io_capacity的影响

15:innodb_log_checksums——性能 全局动态变量,默认ON。 表示在写入redo log到文件之前,redo log的每一个block都需要加上checksum校验位,以防止apply损坏redo log。用CRC-32C对redo log的校验,代替了效率较低innodb_log_checksum_algorithm。

16:innodb_log_write_ahead_size:——性能 全局动态变量,默认8192,即8K,范围:512bytes~innodb_page_size,以字节为单位。 表示redo log写前的块大小。InnoDB以512字节一个block的方式对齐写入ib_logfile文件,但文件系统一般以4096字节为一个block单位。如果即将写入的日志文件块不在OS Cache时,就需要将对应的4096字节的block读入内存,修改其中的512字节,然后再把该block写回磁盘。该参数解决这个问题,当前写入文件的偏移量不能整除该值时,则补0,多写一部分数据。这样当写入的数据是以磁盘block size对齐时,就可以直接write磁盘,而无需read-modify-write这三步了。

17:innodb_max_undo_log_size——性能 全局动态变量,默认1073741824byte即1024M,范围:10M~2**64-1byte 表示限制undo log的最大值,如果超过临界值,当启用了 innodb_undo_log_truncate的话,undo会被标记为可truncate。即可开启在线收缩undo日志,但需要开启参数innodb_undo_tablespaces和innodb_undo_directory。关于日志更多信息见这篇文章。

18:innodb_page_cleaners——性能 全局变量, 5.7.7之前默认1,5.7.8之后默认4,范围:1~64 表示刷写BP脏页的线程数,5.6.2开始从master线程中独立出来,5.7.4开始支持多线程flush。这个值必须小于等于innodb_buffer_pool_instances。

19:innodb_purge_rseg_truncate_frequency——性能 全局动态变量,默认128,范围:1~128 表示控制purge回滚段的速度,undo表空间在其上有活动段的时候,无法回收。这个参数设置,每执行多少次purge之后,purge一次回滚段。

20:innodb_temp_data_file_path 全局变量,默认ibtmp1:12M:autoextend。在数据目录下生成一个ibtmp1大小12M的文件。 表示指定innodb临时表空间文件的路径、文件名和大小。所有非压缩临时表都使用同一个临时表空间,压缩的临时表会使用tmpdir指定的目录下每个表单独的数据文件。可以通过 INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO查看更多信息。

21:innodb_undo_log_truncate——性能 全局动态变量,默认OFF。 表示是否开启在线收缩undo log。当undo log 超过innodb_max_undo_log_size定义的大小时,undo会被标记为可truncate。只对开启了undo log的分离有效,不会对共享表空间的undo log有效。即需要设置参数innodb_undo_tablespaces(>=2)和innodb_undo_logs(>=35)和innodb_undo_directory

22:internal_tmp_disk_storage_engine 全局动态变量,默认INNODB 表示内部磁盘临时表用的存储引擎,5.7.6之后默认是innodb,可选值有:innodb、myisam。

23:log_builtin_as_identified_by_password 全局动态变量,默认OFF

24:log_error_verbosity——性能 全局动态变量,默认3,范围:1~3 表示错误日志记录的信息,1:只记录error信息;2:记录error和warnings信息;3:记录error、warnings和普通的notes信息。

25:log_statements_unsafe_for_binlog——性能 全局动态变量,默认ON。 表示是否记录error code '1592′ 信息到错误日志里。error code '1592′:Unsafe statement written to the binary log using statement format

26:log_syslog——性能 全局动态变量,默认OFF 表示是否把错误日志记录到syslog(/var/log/syslog)。

27:log_syslog_facility 全局动态变量,默认daemon。 表示设备错误号写入到syslog,前提是log_syslog参数开启。

28:log_syslog_include_pid 全局动态变量,默认ON。 表示是否把服务进程的id写到syslog,前提是log_syslog参数开启。

29:log_syslog_tag 全局动态变量,默认empty。 表示标签被添加到服务器标识符中并写入到syslog在错误日志

30:log_timestamps 全局动态变量,默认UTC,可选值:UTC、SYSTEM 表示这个变量控制日志消息写入文件的时间,包括错误日志,普通日志和慢查询日志。

31:max_execution_time 全局\会话动态变量,默认0。 表示执行select语句的超时时间,默认0:不超时。

32:mysql_native_password_proxy_users 全局动态变量,默认OFF。 表示控制是否支持代理用户内置认证的插件,前提条件是check_proxy_users开启,5.7.7引入该参数。


共收到 0 条评论
没有找到数据。
评论文章 (需要登录)