Maison >base de données >tutoriel mysql >Réduire l'utilisation de la mémoire MySQL dans Docker
Optimisez l'utilisation de la mémoire MySQL dans les conteneurs Docker, en particulier dans les environnements aux ressources limitées comme les VPS. J'ai récemment résolu un problème de mémoire sur mon VPS exécutant plusieurs conteneurs WordPress avec MySQL ; la consommation en veille était d'environ 500 Mo, réduite à environ 150 Mo après les optimisations décrites ici.
Ce guide montre comment configurer un conteneur MySQL dans Docker pour minimiser la consommation de mémoire. Comprend un exemple de fichier my.cnf
optimisé, un fichier docker-compose.yml
avec mappage de volume et des instructions sur les autorisations de fichier.
Étape 1 : Création du fichier de configuration my.cnf
Créez un fichier appelé mysql-low-memory-my.cnf
dans votre répertoire préféré sur l'hôte. Ce fichier contiendra les paramètres optimisés pour réduire l'utilisation de la mémoire.
<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>
Étape 2 : Définition des autorisations de fichiers
Après avoir créé le fichier mysql-low-memory-my.cnf
, définissez les autorisations en lecture seule par MySQL, empêchant ainsi les modifications par d'autres processus ou utilisateurs.
<code class="language-bash">chmod 0444 mysql-low-memory-my.cnf</code>
Étape 3 : Configuration docker-compose.yml
Dans le fichier docker-compose.yml
, mappez le volume contenant le fichier de configuration au conteneur 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>
Étape 4 : Démarrage du conteneur
Exécutez la commande ci-dessous pour démarrer le conteneur en mode détaché :
<code class="language-bash">docker compose up -d</code>
Votre conteneur MySQL fonctionne désormais avec une consommation mémoire optimisée ! N'oubliez pas que ces paramètres peuvent affecter les performances de la base de données, ajustez-les si nécessaire.
Utilisez la commande suivante pour surveiller l'utilisation de la mémoire du conteneur :
<code class="language-bash">docker stats mysql-container</code>
[Dépôt avec le code utilisé] (lien vers le référentiel)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!