1、max_connections
max_connections = 200
该参数定义了连接池的大小,即可以同时连接到 MySQL 服务器上的连接数的最大值。默认值为 151,建议根据数据库负载情况适当调整。
2、innodb_buffer_pool_size
innodb_buffer_pool_size = 128M
InnoDB 引擎使用的缓冲池大小。它将保存最近使用的数据和索引,因此查询会更快。通常,建议将该值设为物理内存的 70%-80%。
3、key_buffer_size
key_buffer_size = 64M
MyISAM 存储引擎使用的缓冲池大小。 MyISAM 是一种快速的存储引擎,但它在处理大型数据集时可能会变得异常缓慢。该参数也使用于 MEMORY 表。
4、query_cache_size
query_cache_size = 64M
MySQL 查询缓存的大小,缓存命中率越高,响应时间越短。在高并发的情况下,缓存的大小可能需要适当调整。
5、tmp_table_size 和 max_heap_table_size
tmp_table_size = 32M max_heap_table_size = 32M
当 MySQL 来不及创建临时表并放入磁盘时,它在内存中创建临时表。这些参数控制这些内存表的最大大小。如果您的 MySQL 中经常使用大查询,比如连接多个表,您需要适当增加它们的值(可能需要增加至 1GB 甚至更多)。
6、slow_query_log 和 log_slow_queries
slow_query_log = On log_slow_queries = /var/log/mysql/mysql-slow.log
开启慢查询日志并将日志记录到指定的文件中,以便在查找性能问题时检查。在生产环境中为了避免因为慢查询产生 IO 损耗,建议定期将慢查询日志进行清理。
总结
以上为 MySQL 常用的配置参数,针对不同的业务需求和数据库负载情况,需要适当调整不同的参数值以达到最优的性能和安全性。