数据库管理:mysql 5.6 参数解析

# NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

# STRICT_TRANS_TABLES模式:严格模式,对插入数据进行严格校验,当发现插入列值未满足列长度要求时,直接报告error,
保证了错误数据无法插入到数据库中。

# ANSI模式:宽松模式,对插入数据进行校验,当发现插入列值未满足列长度要求时,对数据类型调整或截断保存,同时报告warning

sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp

# 允许mysqld打开的最大文件数
open-files-limit = 65535

# 允许mysqld接收的最大的数据包
max_allowed_packet = 16M

# 最大并发连接数量
max_connections = 500

# 某台主机尝试连接mysqld失败上万次后,mysql拒绝此主机的连接请求
max_connect_errors = 10000

# 内存临时表的空间上限
tmp_table_size = 256M

# 内存表的空间上限(memory存储引擎)
max_heap_table_size = 256M

# 开启慢查询
slow_query_log = 1

# 记录查询时间大于2s的查询
long_query_time = 2

# 关闭查询缓存,不会缓存sql语句与结果集
query_cache_type = 0

# 查询缓存都关闭了,就不为查询缓存分配内存区域了
query_cache_size = 0

# 为缓存myisam表的索引分配的内存区域
key_buffer_size = 32M

# 默认的存储引擎
default_storage_engine = innodb

# 默认的事务隔离级别
transaction-isolation = repeatable-read

# 数据文件的路径
innodb_data_home_dir = /usr/local/mysql/data

# 事务日志文件的路径
innodb_log_group_home_dir = /usr/local/mysql/data

# 为缓存innodb表与索引分配的内存区域
innodb_buffer_pool_size = 2G

# 将buffer_pool划分为2个子池独立管理
innodb_buffer_pool_instances = 2

# 事务日志文件的大小
innodb_log_file_size = 256M

# 日志组中包含3个事务日志文件
innodb_log_files_in_group = 3

# 为缓存事务日志分配的内存区域
innodb_log_buffer_size = 16M

# undo文件的路径
innodb_undo_directory = /usr/local/mysql/data

# undo表空间包含3个文件
innodb_undo_tablespaces = 3

# undo表空间划分为128个undo段
innodb_undo_logs= 128

# 数据文件的格式
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda

# 共享表空间文件属性
innodb_data_file_path = ibdata1:1024M:autoextend


# 自适应刷新
innodb_adaptive_flushing = 1

# 自适应哈希索引
innodb_adaptive_hash_index = 1

# 延迟更新(insert,delete,purge)
innodb_change_buffering = all

# 延迟更新最多使用buffer pool 1/4的内存空间
innodb_change_buffer_max_size = 25

# 两次写
innodb_doublewrite = 1

# 刷新邻居页
innodb_flush_neighbors = 1

# 支持分布式事务
innodb_support_xa = 1

# 独立表空间
innodb_file_per_table = 1

# 0:事务提交时log thread不写入事务日志文件,由master thread每一秒将log buffer中的事务日志写入事务日志文件,并且调用
fsync,同步磁盘
# 1:事务提交时log thread将与事务相关的事务日志写入事务日志文件,并且调用fsync,同步磁盘
# 2:事务提交时log thread将与事务相关的事务日志写入事务日志文件,但仅写入文件系统的缓存中,由文件系统调用fsync,同步磁盘
innodb_flush_log_at_trx_commit = 1

# 读线程数量
innodb_read_io_threads = 4

# 写线程数量
innodb_write_io_threads = 4

# 一次可以刷新200个脏页
innodb_io_capacity = 200

# 独立的purge线程
innodb_purge_threads = 1

# 一次可以回收300个undo页
innodb_purge_batch_size = 300

# 若buffer pool中脏页比例超过75%,执行检查点操作,脏页被刷新回数据文件
innodb_max_dirty_pages_pct = 75%

# 在LRU列表靠近尾端3/8(37%)的位置为分界点,分界点左侧5/8的区域为new区域,分界点右侧3/8的区域为old区域
innodb_old_blocks_pct = 37

# 页首次访问被插入到LRU列表的分界点位置,在1s后再次被访问,由old区域移动到new区域,单位毫秒
innodb_old_blocks_time = 1000

# Innodb行锁等待的超时时间,单位为秒
innodb_lock_wait_timeout = 50

# 在Innodb行锁等待超时后,事务是否回滚
innodb_rollback_on_timeout = 0

# 交互式连接在8小时内一直无事可做(空闲连接),那么mysqld主动断开连接,单位秒
interactive_timeout = 28800

# 非交互式连接在8小时内一直无事可做(空闲连接),那么mysqld主动断开连接,单位秒
wait_timeout = 28800

# 查询information_schema.tables/statistics表时,是否自动更新统计信息
innodb_stats_on_metadata = 0

# InnoDB并发线程数
innodb_thread_concurrency = 0 

# 使用系统异步I/O
innodb_use_native_aio = 1

# 使用系统内存分配程序,例如:tcmalloc或jemalloc
innodb_use_sys_malloc = 1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章