MYSQL調優主要針對系統參數的調整:
[mysqld]
##################################################
#innodb
user=mysql
innodb_buffer_pool_size=6G
innodb_log_file_size=4G
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=2
innodb_file_per_table=1
innodb_file_io_threads=4
innodb_flush_method=O_DIRECT
innodb_io_capacity=2000
innodb_io_capacity_max=6000
innodb_lru_scan_depth=2000
innodb_thread_concurrency = 0
innodb_additional_mem_pool_size=16M
innodb_autoinc_lock_mode = 2
##################################################
# Binary log/replication
log-bin
sync_binlog=1
sync_relay_log=1
relay-log-info-repository=TABLE
master-info-repository=TABLE
expire_logs_days=7
binlog_format=ROW
transaction-isolation=READ-COMMITTED
#################################################
#cache
tmp_table_size=512M
character-set-server=utf8
collation-server=utf8_general_ci
skip-external-locking
back_log=1024
key_buffer_size=1024M
thread_stack=256k
read_buffer_size=8M
thread_cache_size=64
#query_cache_size=128M
max_heap_table_size=256M
#query_cache_type=1
#binlog_cache_size = 2M
table_open_cache=128
thread_cache=1024
thread_concurrency=8
wait_timeout=30
join_buffer_size = 1024M
sort_buffer_size = 8M
read_rnd_buffer_size = 8M
#################################################
#connect
max-connect-errors=100000
max-connections=1000
#################################################
explicit_defaults_for_timestamp=true
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
##################################################
解釋下優化配置
#設定InnoDB緩存表數據和索引的內存緩衝區大小
innodb_buffer_pool_size=6G
#默認值爲 48M. 有很高寫入吞吐量
innodb_log_file_size=4G
#InnoDB 存儲引擎的事務日誌所使用的緩衝區
innodb_log_buffer_size = 8M
#參數對於InnoDB存儲引擎寫入操做的性能
innodb_flush_log_at_trx_commit=2
#修改InnoDB爲獨立表空間模式,每一個數據庫的每一個表都會生成一個數據空間
innodb_file_per_table=1
#限制Innodb能打開的表的數據
innodb_file_io_threads=4
#若是使用硬件RAID磁盤控制器, 須要設置爲 O_DIRECT
innodb_flush_method=O_DIRECT
#設置會影響InnoDB每秒在後臺執行多少操做
innodb_io_capacity=2000
innodb_io_capacity_max=6000
#這個參數必需要和innodb_io_capacity設置同樣
innodb_lru_scan_depth=2000
#限制了一次有多少線程能進入內核,0表示不限制進入內核的數量
innodb_thread_concurrency = 0
#除了緩存表數據和索引外,能夠爲操做所需的其餘內部項分配緩存來提高InnoDB的性能,這些內存就能夠經過此參數來分配
innodb_additional_mem_pool_size=16M
#修改成基於行的複製
innodb_autoinc_lock_mode = 2