Heim >Datenbank >MySQL-Tutorial >Reduzierung der Verwendung des MySQL -Speichers in Docker

Reduzierung der Verwendung des MySQL -Speichers in Docker

Patricia Arquette
Patricia ArquetteOriginal
2025-01-27 02:11:09431Durchsuche

Reduzindo o Uso de Memória do MySQL no Docker

Optimieren Sie die MySQL-Speichernutzung in Docker-Containern, insbesondere in ressourcenbeschränkten Umgebungen wie VPSs. Ich habe kürzlich ein Speicherproblem auf meinem VPS behoben, auf dem mehrere WordPress-Container mit MySQL ausgeführt werden. Der Leerlaufverbrauch betrug etwa 500 MB und wurde nach den hier beschriebenen Optimierungen auf etwa 150 MB reduziert.

Diese Anleitung zeigt, wie Sie einen MySQL-Container in Docker einrichten, um den Speicherverbrauch zu minimieren. Enthält eine beispielhafte optimierte my.cnf-Datei, eine docker-compose.yml-Datei mit Volume-Zuordnung und Anweisungen zu Dateiberechtigungen.

Schritt 1: Erstellen der Konfigurationsdatei my.cnf

Erstellen Sie eine Datei mit dem Namen mysql-low-memory-my.cnf in Ihrem bevorzugten Verzeichnis auf dem Host. Diese Datei enthält die optimierten Einstellungen zur Reduzierung der Speichernutzung.

<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>

Schritt 2: Dateiberechtigungen festlegen

Nach dem Erstellen der Datei mysql-low-memory-my.cnf legen Sie die Berechtigungen so fest, dass sie nur von MySQL gelesen werden können, um Änderungen durch andere Prozesse oder Benutzer zu verhindern.

<code class="language-bash">chmod 0444 mysql-low-memory-my.cnf</code>

Schritt 3: Konfigurieren docker-compose.yml

Ordnen Sie in der Datei docker-compose.yml das Volume mit der Konfigurationsdatei dem MySQL-Container zu:

<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>

Schritt 4: Container starten

Führen Sie den folgenden Befehl aus, um den Container im getrennten Modus zu starten:

<code class="language-bash">docker compose up -d</code>

Ihr MySQL-Container läuft jetzt mit optimiertem Speicherverbrauch! Denken Sie daran, dass sich diese Einstellungen auf die Datenbankleistung auswirken können. Passen Sie sie bei Bedarf an.

Verwenden Sie den folgenden Befehl, um die Speichernutzung des Containers zu überwachen:

<code class="language-bash">docker stats mysql-container</code>

[Repository mit dem verwendeten Code] (Link zum Repository)

Das obige ist der detaillierte Inhalt vonReduzierung der Verwendung des MySQL -Speichers in Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn