2014-09-23 2 views
0

이전에 mysql 설정을 사용 해보지 않았지만 새로운 Linux 클라우드 서버에서 MySQL이 충돌 할 때까지 모든 메모리를 사용하고있는 것 같습니다. 그러면 다시 시작할 수 없습니다. 더 많은 메모리가 서비스를 다시 시작하려면 클라우드 서버를 재부팅해야합니다.my.cnf에있는 key_buffer_size가 누락 된 MySQL

그래서 나는 메모리 사용을 길들일 수있는 방법을 찾고 있었고 key_buffer_size (그리고 내 머리를 기억할 수없는 또 다른 설정)에 대해 읽은 후에 my.cnf 파일을 살펴 봤으며 아무것도 없다. 이 설정. 다음과 같이 내 my.cnf 파일은 떨어지기까지 key_buffer_size 세트없이

[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 

은 ... 그냥 메모리까지 먹고 계속됩니다 ...인가? 이 설정을 설정하면 안됩니까?

건배

+0

작성한 내용을 다시 읽으십시오. "서비스를 다시 시작할 수있는 메모리가 없으므로 다시 시작할 수 없습니다." 그러나 기다려라. 서비스가 망가 졌을 때, 모든 메모리가 해제되어 분석이 옳지 않아야한다. 문제는 MySQL 일 가능성이 없습니다. 그것은 다른 메모리 돼지의 희생자입니다 : http://dba.stackexchange.com/questions/25077/mysql-innodb-crash-post-mortem/25083#25083 –

답변

0

key_buffer_size의 기본은 당신이 먼저 설정하는 것이 요청 (다시 시작 MySQL의) 문제가 계속되면 볼 것이다, 그러나 http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html

당 8M입니다.

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가 밝혀졌습니다. 그것은 내 기계를 위해 높게 설정되었습니다. 아파치가 얼마나 많은 메모리를 사용하는지 최적화 할뿐만 아니라 그것을 조정했다. 모든 것이 잘 돌아가고있는 것처럼 보이며 약간의 메모리 여유 공간이 있습니다. 그것을 고치는 희망.

관련 문제