Docker 컨테이너, 특히 VPS와 같이 리소스가 제한된 환경에서 MySQL 메모리 사용을 최적화합니다. 저는 최근 MySQL로 여러 WordPress 컨테이너를 실행하는 VPS의 메모리 문제를 해결했습니다. 유휴 소비량은 약 500MB였으며 여기에 설명된 최적화 후에는 약 150MB로 줄었습니다.
이 가이드에서는 메모리 소비를 최소화하기 위해 Docker에서 MySQL 컨테이너를 설정하는 방법을 보여줍니다. 최적화된 my.cnf
파일 예시, 볼륨 매핑이 포함된 docker-compose.yml
파일, 파일 권한에 대한 지침이 포함되어 있습니다.
1단계: 구성 파일 생성 my.cnf
호스트의 원하는 디렉터리에 mysql-low-memory-my.cnf
이라는 파일을 만듭니다. 이 파일에는 메모리 사용량을 줄이기 위한 최적화된 설정이 포함되어 있습니다.
<code>[mysqld] # Tamanho do buffer principal do InnoDB innodb_buffer_pool_size = 128M # Tamanho do buffer de chave (MyISAM) key_buffer_size = 8M # Número máximo de conexões simultâneas max_connections = 50 # Cache de threads thread_cache_size = 8 # Tamanho de tabelas temporárias em memória tmp_table_size = 16M max_heap_table_size = 16M # Desativa o Performance Schema performance_schema = 0 # Tamanho do buffer de log innodb_log_buffer_size = 4M # Cache de tabelas abertas table_open_cache = 200</code>
2단계: 파일 권한 설정
파일을 생성한 후mysql-low-memory-my.cnf
MySQL에서만 읽기 권한을 설정하여 다른 프로세스나 사용자가 수정하지 못하도록 하세요.
<code class="language-bash">chmod 0444 mysql-low-memory-my.cnf</code>
3단계: 구성 docker-compose.yml
docker-compose.yml
파일에서 구성 파일이 포함된 볼륨을 MySQL 컨테이너에 매핑합니다.
<code class="language-yaml">services: mysql: image: mysql:8 container_name: mysql-container environment: MYSQL_ROOT_PASSWORD: sua_senha volumes: - './mysql-low-memory-my.cnf:/etc/mysql/conf.d/mysql-low-memory-my.cnf' ports: - "3306:3306"</code>
4단계: 컨테이너 시작
분리 모드에서 컨테이너를 시작하려면 아래 명령을 실행하세요.
<code class="language-bash">docker compose up -d</code>
이제 MySQL 컨테이너가 최적화된 메모리 소비로 실행됩니다! 이러한 설정은 데이터베이스 성능에 영향을 미칠 수 있다는 점을 기억하고 필요에 따라 조정하세요.
컨테이너의 메모리 사용량을 모니터링하려면 다음 명령을 사용하세요.
<code class="language-bash">docker stats mysql-container</code>
[사용된 코드가 있는 저장소] (저장소 링크)
위 내용은 Docker에서 MySQL 메모리 사용을 줄입니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!