2014-09-23 2 views
0

Я никогда не играл с настройками mysql раньше, но на нашем новом сервере облачных вычислений Linux кажется, что mysql ест всю память до сбоя, тогда он не может перезагрузиться, поскольку нет больше памяти для перезапуска службы, я должен перезагрузить облачный сервер.MySQL отсутствует key_buffer_size в my.cnf

Так что я смотрел, как я мог приручить использование памяти, и после прочтения о 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

Перечитайте то, что вы написали. «Он не может перезагрузиться, так как больше нет памяти для перезапуска службы». Но подождите: если служба потерпела крах, вся память теперь освобождается, поэтому анализ не должен быть прав. Проблема вряд ли будет MySQL. Это жертва еще одного всплеска памяти: http://dba.stackexchange.com/questions/25077/mysql-innodb-crash-post-mortem/25083#25083 –

ответ

0

по умолчанию для key_buffer_size является 8M на http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html

Однако, я хотел бы спросить, что вы установили эти первые (и перезапустить 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

+0

Спасибо ... какой раздел в cnf должен идти? –

+1

Они входят в раздел '[mysqld]'. –

0

Благодарности виды за советы!

Оказывается, это был innodb_buffer_pool_size. Он был установлен для моей машины. Я скорректировал его, а также оптимизировал, сколько памяти использует Apache. Кажется, что все работает лучше, и есть немного памяти. Надеюсь, что это исправляет.

Смежные вопросы