Rumah > pangkalan data > tutorial mysql > Mengurangkan penggunaan memori MySQL di Docker

Mengurangkan penggunaan memori MySQL di Docker

Patricia Arquette
Lepaskan: 2025-01-27 02:11:09
asal
355 orang telah melayarinya

Reduzindo o Uso de Memória do MySQL no Docker

Optimumkan penggunaan memori MySQL dalam bekas Docker, terutamanya dalam persekitaran yang terhad sumber seperti VPS. Saya baru-baru ini menyelesaikan isu memori pada VPS saya yang menjalankan berbilang bekas WordPress dengan MySQL; penggunaan melahu adalah kira-kira 500MB, dikurangkan kepada sekitar 150MB selepas pengoptimuman yang diterangkan di sini.

Panduan ini menunjukkan cara menyediakan bekas MySQL dalam Docker untuk meminimumkan penggunaan memori. Termasuk contoh fail my.cnf yang dioptimumkan, fail docker-compose.yml dengan pemetaan volum dan arahan tentang kebenaran fail.

Langkah 1: Mencipta fail konfigurasi my.cnf

Buat fail bernama mysql-low-memory-my.cnf dalam direktori pilihan anda pada hos. Fail ini akan mengandungi tetapan yang dioptimumkan untuk mengurangkan penggunaan memori.

<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>
Salin selepas log masuk

Langkah 2: Menetapkan kebenaran fail

Selepas mencipta fail mysql-low-memory-my.cnf, tetapkan kebenaran untuk membaca hanya oleh MySQL, menghalang pengubahsuaian oleh proses atau pengguna lain.

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

Langkah 3: Mengkonfigurasi docker-compose.yml

Dalam fail docker-compose.yml, petakan volum yang mengandungi fail konfigurasi ke bekas 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>
Salin selepas log masuk

Langkah 4: Memulakan bekas

Jalankan arahan di bawah untuk memulakan bekas dalam mod tertanggal:

<code class="language-bash">docker compose up -d</code>
Salin selepas log masuk

Bekas MySQL anda kini berjalan dengan penggunaan memori yang dioptimumkan! Ingat bahawa tetapan ini boleh menjejaskan prestasi pangkalan data, laraskannya mengikut keperluan.

Gunakan arahan berikut untuk memantau penggunaan memori bekas:

<code class="language-bash">docker stats mysql-container</code>
Salin selepas log masuk

[Repositori dengan kod yang digunakan] (pautan ke repositori)

Atas ialah kandungan terperinci Mengurangkan penggunaan memori MySQL di Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan