我之前从未真正使用过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 ...它会不会耗尽内存直到它耗尽?不应该设置此设置吗?
干杯
答案 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
答案 1 :(得分:0)
感谢各种建议!
原来是innodb_buffer_pool_size。我的机器设置为高。我已经调整了它,并优化了Apache使用的内存量。一切似乎运行得更好,并有一点记忆空间。希望能解决它。