InnoDB 버퍼 풀 크기 늘리기


11

MySql InnoDB의 버퍼 풀 크기 및 로그 파일 크기를 설정하는 데 어려움이 있습니다. 나는 MySql 전문가와는 거리가 멀지 만 주변을 읽었으며이를 변경하면 내 /etc/mysql/my.cnf 에이 줄을 추가하는 것 같습니다.

# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M

서버에는 약 7GB의 메모리가 있으며 웹 서버도 실행 중이므로이 숫자는 괜찮은 시작점이라고 생각합니다. 그러나 서버를 저장하고 다시 시작한 후에는 변경 사항이 적용되지 않은 것 같습니다. 버퍼 풀이 여전히 16.0M에 있다고보고 한 Mysqltuner를 실행하려고 시도했습니다. 내가 뭘 잘못하고 있는지 알아? 구성 파일을 더 보려면 알려주세요. 감사!


어떤 분포? 배포판의 패키지 또는 다른 것을 사용하고 있습니까? mysql을 어떻게 시작합니까? 요컨대, 무엇을 설치하고 무엇을 설치했으며 어떻게 설치 했습니까?
navaho

우분투 서버 x64 위에 기본 램프 스택입니다
tgrosinger

/ opt / lampp / etc에 다른 구성 파일이 있으며 작동한다고 생각합니다.
tgrosinger

답변:


7

확인하는 선은 이내 [mysqld]한 후 섹션 즉, [mysqld]하지만 다른 어떤 전에 [section]같은 [mysqldump].


그것들은 [mysqldump] 직전의 [mysqld]에서 올바른 섹션에 있습니다
tgrosinger

2

MySQL 오류 로그에서 정보를 찾을 수 있습니다. 가장 큰 위치 /var/lib/mysql는 bigmem 커널이있는 32 비트 시스템입니까? 그렇다면 MySQL의 경우 2GB 이상을 처리 할 수 ​​없습니다.

또한-버퍼 풀 크기에 대해 MySQL 자체에서 확인하고 싶습니다 . 기본값 은 128M 이라는 점을 고려하면 16MB가 약간 떨어집니다 . 해당 서버의 MySQL 세션에 'SHOW VARIABLES LIKE'innodb_buffer_pool_size '를 입력하여이를 확인할 수 있습니다. 결과는 바이트입니다.


어떤 이유로 나는 그 디렉토리에 들어갈 수 없습니다. 나는 / var / lib에서 ls를 할 때 그것을 볼 수 있지만 CD로 넣으려고하면 "permission denied"가 나타납니다. sudo로 cd하려고하면 "No such file or directory"가 표시됩니다. 생각? Ubuntu Server의 64 비트 설치입니다.
tgrosinger

my.cnf (/etc/my.cnf 또는 데비안 아마도 /etc/mysql/my.cnf)에 게시해야합니다.
thinice

또한 버퍼 풀 크기에 대해 MySQL 자체에서 확인하고 싶습니다 . 기본값 은 128M 이라는 점을 고려하면 16MB가 약간 떨어집니다 . 해당 서버의 MySQL 세션에 'SHOW VARIABLES LIKE'innodb_buffer_pool_size '를 입력하여이를 확인할 수 있습니다. 결과는 바이트입니다.
Thinice

1
sudo cdsudo가 올바른 권한으로 서브 쉘을 작성하고 완료되면 닫아서 시작 위치를 떠나기 때문에 작동하지 않습니다. sudo -s대신 시도하십시오 .
Ladadadada

SHOW VARIABLES LIKE를 사용할 때 버퍼 풀 크기는 16777216이며 실제로 16M이라고 생각합니다. 여기 my.cnf가 있습니다 : hastebin.com/binaqeforu.vala 대단히 감사합니다!
tgrosinger

2

제 경우에는 문제가있었습니다 innodb_buffer_pool_instances.

축소 innodb_buffer_pool_size했으므로 인스턴스 당 1GB 미만이되었으므로 반올림했습니다.

또한 인스턴스를 줄이면 마침내 풀 크기가 변경되었습니다 !


0

--no-defaults 또는 (-no-defaults)로 mysql을 시작하면 구성이 전혀로드되지 않습니다. --defaults-file (또는 -default-file, 확실하지 않음)도있어 특정 구성을로드합니다. 또한 편집 한 구성과 다른 구성인지 확인하십시오.

다음과 같이 시작할 수 있습니다.

--innodb_buffer_pool_size=2048M --innodb_log_buffer_size=512M

또는 이미 시작하고있는 매개 변수를 확인하고 그 중 하나가 구성을 생략하는지 확인하십시오.


우분투에서 어떻게 시작되는지 어떻게 알 수 있습니까? 아치에 익숙해 져서 rc.d 파일에 추가하려고했지만 여기에는 이와 같은 것이 보이지 않습니다.
tgrosinger

Arch는 BSD Style Init를 사용하는 반면 Ubuntu는 SysV Init를 사용합니다. 따라서 /etc/init.d에 파일을 시작하고 옵션이 설정되는 / etc / defaults에 파일이 있습니다. 'ps -ef | grep mysql '현재 실행중인 옵션을 확인할 수 있습니다.
juwi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.