網上流傳配置多基於 5.1,參數過時導致性能差、數據不一致甚至丟失。本模板覆蓋 5.6/5.7 核心參數,僅需按硬件調整 innodb_buffer_pool_size、innodb_io_capacity 等少量值即可投產。
[client] user=david password=88888888 [mysqld] ######## basic ######## server-id = 11 port = 3306 user = mysql bind_address = 10.166.224.32 autocommit = 0 character_set_server = utf8mb4 skip_name_resolve = 1 max_connections = 800 max_connect_errors = 1000 datadir = /data/mysql_data transaction_isolation = READ-COMMITTED explicit_defaults_for_timestamp = 1 join_buffer_size = 134217728 tmp_table_size = 67108864 max_allowed_packet = 16777216 sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER" interactive_timeout = 1800 wait_timeout = 1800 ######## log ######## log_error = error.log slow_query_log = 1 slow_query_log_file = slow.log log_queries_not_using_indexes = 1 log_slow_admin_statements = 1 log_slow_slave_statements = 1 log_throttle_queries_not_using_indexes = 10 expire_logs_days = 90 long_query_time = 2 min_examined_row_limit = 100 ######## replication ######## master_info_repository = TABLE relay_log_info_repository = TABLE log_bin = bin.log sync_binlog = 1 gtid_mode = on enforce_gtid_consistency = 1 log_slave_updates binlog_format = row relay_log = relay.log relay_log_recovery = 1 binlog_gtid_simple_recovery = 1 slave_skip_errors = ddl_exist_errors ######## innodb ######## innodb_page_size = 8192 innodb_buffer_pool_size = 6G innodb_buffer_pool_instances = 8 innodb_buffer_pool_load_at_startup = 1 innodb_buffer_pool_dump_at_shutdown = 1 innodb_lru_scan_depth = 2000 innodb_lock_wait_timeout = 5 innodb_io_capacity = 4000 innodb_io_capacity_max = 8000 innodb_flush_method = O_DIRECT innodb_file_format = Barracuda innodb_file_format_max = Barracuda innodb_log_group_home_dir = /redolog/ innodb_undo_directory = /undolog/ innodb_undo_logs = 128 innodb_undo_tablespaces = 3 innodb_flush_neighbors = 1 innodb_log_file_size = 4G innodb_log_buffer_size = 16777216 innodb_purge_threads = 4 innodb_large_prefix = 1 innodb_thread_concurrency = 64 innodb_print_all_deadlocks = 1 innodb_strict_mode = 1 innodb_sort_buffer_size = 67108864 ######## semi-sync ######## plugin_dir = /usr/local/mysql/lib/plugin plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" loose_rpl_semi_sync_master_enabled = 1 loose_rpl_semi_sync_slave_enabled = 1 loose_rpl_semi_sync_master_timeout = 5000 [mysqld-5.7] innodb_buffer_pool_dump_pct = 40 innodb_page_cleaners = 4 innodb_undo_log_truncate = 1 innodb_max_undo_log_size = 2G innodb_purge_rseg_truncate_frequency = 128 binlog_gtid_simple_recovery = 1 log_timestamps = system transaction_write_set_extraction = MURMUR32 show_compatibility_56 = on
| 參數 | 調整依據 |
|---|---|
| innodb_buffer_pool_size | 物理內存 70-80%(純 InnoDB) |
| innodb_io_capacity | SSD 4000-8000,HDD 200-500 |
| innodb_log_file_size | 總 4-8GB,單文件 1-2GB |
| max_connections | 業務峰值併發 + 余量 |
| sync_binlog=1 + gtid_mode=on | 數據零丟失、主從一致性基石 |
完整配置文件:https://pan.baidu.com/s/1jHMPu9C
拋棄舊模板,採用 5.6/5.7 現代參數:GTID、Row Binlog、半同步、獨立 Undo/Redo 目錄、Buffer Pool 預熱/持久化、嚴格 SQL Mode,構建高性能、高可靠、高擴展的 MySQL 生產環境。