Mysql配置檔案引數設定及優化
阿新 • • 發佈:2019-01-28
伺服器環境: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 |
三、優化思想
引數解析: