1. 程式人生 > >Mysql配置檔案引數設定及優化

Mysql配置檔案引數設定及優化

伺服器環境:Centos 7.3 記憶體 32G 500G SSD
Mysql 版本:5.7.17

一、配置檔案例項

[mysqld]
datadir=/data/mysqldata
socket=/tmp/mysql.sock
symbolic-links=0
skip-name-resolve
log_error = /data/mysqldata/mysql-error.log
character-set-server = utf8mb4
long_query_time = 1     #慢查詢日誌觸發時間
slow_query_log = 1      #啟用慢日誌
slow_query_log_file = /data/mysqldata/mysql-slow.log
sql_mode = NO_ENGINE_SUBSTITUTION
max_allowed_packet = 512
M #Server接受的最大資料包大小 performance_schema = 0 wait_timeout = 28800 sql_mode='NO_ENGINE_SUBSTITUTION' #myisam引擎配置 myisam_sort_buffer_size = 512M #MyISAM表發生變化時重新排序所需的緩衝。 query_cache_size= 1024M #指定MySQL查詢結果緩衝區的大小。 query_cache_type=1 #為1是使用快取,查詢總是先到查詢快取中查詢,即使使用了sql_no_cache仍然查詢快取,因為sql_no_cache只是不快取查詢結果,而不是不使用查詢結果。
group_concat_max_len=4096 back_log=1024 max_heap_table_size=256M table_open_cache =4096 thread_cache_size=128 sort_buffer_size=8M read_buffer_size=8M read_rnd_buffer_size = 8M open_files_limit=400000 max_connections=8000 tmp_table_size = 128M pid-file=/data/mysqldata/mysql.pid #innodb引擎的配置 innodb_flush_method=O_DIRECT innodb_io_capacity=2000
#重新整理髒頁的數量 innodb_io_capacity_max=6000 #限制每秒重新整理的髒頁上限 innodb_lru_scan_depth=2000 #從每個buffer pool instance的lru上掃描的深度,調大該值有助於多釋放些空閒頁,避免使用者執行緒去做single page flush。 default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_buffer_pool_dump_at_shutdown = 1 innodb_buffer_pool_load_at_startup = 1 innodb_buffer_pool_size = 25G #快取使用者表及索引資料的最主要快取空間,對 Innodb 整體效能影響也最大。 innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 16 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 5M innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 interactive_timeout = 28800 innodb_additional_mem_pool_size = 16M innodb_sort_buffer_size = 512M #binlog配置 log-bin = /data/mysqldata/log-bin #binlog路徑 binlog_format = MIXED #binlog格式 max_binlog_cache_size = 64M # max_binlog_size = 1G #單個binlog檔案的大小 expire_logs_days = 3 relay-log-info-repository=TABLE master-info-repository=TABLE [mysql] no-auto-rehash default-character-set=utf8 prompt=mysql \\d>

二、引數說明

Myisam引擎

選項 預設值 推薦值 說明
query_cache_type mysql預設為關閉 off 這個變數有三個取值:0,1,2,分別代表了off、on、demand。是0,那麼query cache 是關閉的。如果是1,那麼查詢總是先到查詢快取中查詢,即使使用了sql_no_cache仍然查詢快取,因為sql_no_cache只是不快取查詢結果,而不是不使用查詢結果。如果是2,DEMAND。只要query_cache_type沒有關閉,sql查詢總是會使用查詢快取,如果快取沒有命中則開始查詢的執行計劃到表中查詢資料。
col 2 is centered
zebra stripes are neat

InnoDB引擎

選項 預設值 推薦值 說明
col 3 is right-aligned
col 2 is centered
zebra stripes are neat

三、優化思想

引數解析: