记录一份 my.cnf 作为自己生产的标配, 仅供参考。
[client]
default-character-set = utf8mb4
port = PORT
socket = /srv/myPORT/run/mysql.sock
[mysqld]
user = mysql
port = PORT
extra-port = 1PORT
character_set_server = utf8mb4
server_id = SERVER_ID
socket = /srv/myPORT/run/mysql.sock
basedir = /opt/percona-server
datadir = /srv/myPORT/data
log-error = /srv/myPORT/log/alert.log
pid-file = /srv/myPORT/run/mysql.pid
log_slave_updates = 1
log-bin = /srv/myPORT/log/mysql-bin
binlog_format = row
binlog_cache_size = 2M
max_binlog_cache_size = 4G
max_binlog_size = 1G
expire_logs_days = 7
relay-log = /srv/myPORT/log/relay-bin
relay-log-info-file = /srv/myPORT/log/relay-log.info
relay-log-index = /srv/myPORT/log/relay-log.index
master-info-file = /srv/myPORT/log/master.info
relay-log-recovery = true
sync-relay-log-info = 1
explicit_defaults_for_timestamp
key_buffer_size = 2M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
join_buffer_size = 2M
thread_cache_size = 1024
query_cache_size = 1M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
table_open_cache = 2048
open_files_limit = 65535
back_log = 3000
max_connections = 4000
max_user_connections = 2500
max_connect_errors = 100
max_allowed_packet = 512M
thread_stack = 192k
default-storage-engine = INNODB
transaction_isolation = READ-COMMITTED
tmp_table_size = 16M
max_heap_table_size = 64M
bulk_insert_buffer_size = 64M
long_query_time = 0.5
slow_query_log = on
slow_query_log_file = /srv/myPORT/log/slow.log
skip-name-resolve
innodb_buffer_pool_size = 10G
innodb_data_file_path = ibdata1:2G:autoextend
innodb_file_io_threads = 24
innodb_purge_threads = 12
innodb_read_io_threads = 24
innodb_write_io_threads = 24
innodb_thread_concurrency = 24
innodb_buffer_pool_instances = 8
innodb_flush_log_at_trx_commit= 1
innodb_log_buffer_size = 16M
innodb_log_file_size = 2G
innodb_log_files_in_group = 2
innodb_max_dirty_pages_pct = 75
innodb_lock_wait_timeout = 50
innodb_file_per_table = 1
thread_handling = pool-of-threads
thread_pool_idle_timeout = 180
thread_pool_max_threads = 5000
thread_pool_size = 24
thread_pool_oversubscribe = 10
thread_pool_stall_limit = 500
[mysqldump]
quick
max_allow_packet = 64M
[mysql]
no-auto-rehash
[mysqlhotcopy]
interactive-timeout