Mysql调优参数

时间:2011-08-12 09:43:22

标签: mysql mysql-management performance

我有一台运行在服务器上的MySql服务器(使用innodb),该服务器托管了多个进程来完成数据库的主要工作。

我没有很多使用MySql调优的经验,但是根据我的理解,这里的一些参数的当前值更相关:

query_cache_size = 16M
query_cache_limit = 1M
#table_cache = 64 (currently commented out)

您认为这些参数应该具有哪些值? 我应该更改任何其他参数(我当前的参数设置是默认值)?

谢谢!

3 个答案:

答案 0 :(得分:3)

最常用的调整参数。

key_buffer_size: 
query_cache_size  
tmp_table_size 
innodb_buffer_pool_size 
innodb_additional_mem_pool_size 
innodb_log_buffer_size 
max_connections 
sort_buffer_size 
read_buffer_size 
read_rnd_buffer_size 
join_buffer_size 

答案 1 :(得分:1)

这取决于您的数据库以及针对它的查询。你可以使用mysql_tuner来简要检查你的数据库需要什么。

https://github.com/rackerhacker/MySQLTuner-perl

答案 2 :(得分:0)

我总是调整以下参数:

query_cache_size  
tmp_table_size 
innodb_buffer_pool_size 
max_connections 
back_log

如何设置参数?这取决于您的工作量和服务器。 如果您的服务器有足够的内存,则应设置innodb_buffer_pool_size更多。 而且,如果您具有较高的并发性,则还应该提供更多的max_connections。 同时,有一些公式,例如:

back_log = max_connections / 5 + 50

如果您没有经验,我在这里建议您阅读以下文档或使用自动工具:

https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
https://github.com/yahoo/mysql_perf_analyzer
https://github.com/major/MySQLTuner-perl

最后,调整风险很大,也许您可​​以选择RDS(关系数据库服务)。