數據庫管理: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


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