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

Reduzierung der Verwendung des MySQL -Speichers in Docker

Patricia Arquette
Freigeben: 2025-01-27 02:11:09
Original
355 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage