MySQL在my.cnf中缺少key_buffer_size

时间:2014-09-23 21:44:19

标签: mysql

我之前从未真正使用过mysql设置,但是在我们新的linux云服务器上看来,mysql正在占用所有内存,直到它崩溃,然后它无法重启,因为没有更多的内存来重启服务,我必须重新启动云服务器。

所以我正在研究如何驯服内存使用情况,在阅读了关于key_buffer_size(以及另一个我无法回想起的设置)后,我看了一下my.cnf文件,并没有这个设置它。我的my.cnf如下......

[client]
port                           = 3306
socket                         = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket                         = /var/run/mysqld/mysqld.sock

[mysqld]
user                           = mysql
pid-file                       = /var/run/mysqld/mysql.pid
socket                         = /var/run/mysqld/mysqld.sock
port                           = 3306
datadir                        = /var/lib/mysql

[mysql]
!includedir /etc/mysql/conf.d

没有设置key_buffer_size ...它会不会耗尽内存直到它耗尽?不应该设置此设置吗?

干杯

2 个答案:

答案 0 :(得分:0)

key_buffer_size的默认值为每http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html

8M

但是,我会要求您先设置这些(并重新启动MySQL)并查看问题是否仍然存在。

key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
query_cache_limit       = 1M
query_cache_size        = 16M

如果在使用这些设置后,问题仍然存在,那么它可能不是配置问题,而是更深层次的问题。

另外,请看这些:

https://dba.stackexchange.com/questions/31182/mysql-slowly-uses-memory-until-it-starts-to-use-swap

https://dba.stackexchange.com/questions/7400/why-does-mysql-use-all-of-memory-and-goes-into-swap-when-doing-lots-of-delayed-i

答案 1 :(得分:0)

感谢各种建议!

原来是innodb_buffer_pool_size。我的机器设置为高。我已经调整了它,并优化了Apache使用的内存量。一切似乎运行得更好,并有一点记忆空间。希望能解决它。