Rumah >pangkalan data >tutorial mysql >Mengapa MySQL Saya di Amazon EC2 Micro Instance Menggugurkan Permulaan dengan Ralat 12 (Memori Tidak Mencukupi)?

Mengapa MySQL Saya di Amazon EC2 Micro Instance Menggugurkan Permulaan dengan Ralat 12 (Memori Tidak Mencukupi)?

Patricia Arquette
Patricia Arquetteasal
2024-11-26 18:57:09488semak imbas

Why Does My MySQL on Amazon EC2 Micro Instance Abort Startup with Error 12 (Insufficient Memory)?

Amazon EC2, MySQL Menghentikan Permulaan Kerana Memori Tidak Mencukupi (errno 12)

Apabila menjalankan MySQL pada contoh mikro Amazon EC2, anda boleh menghadapi ralat "InnoDB: mmap (x bait) gagal; errno 12." Ralat ini menunjukkan bahawa InnoDB, enjin storan yang digunakan oleh MySQL, tidak dapat memperuntukkan memori yang diperlukan untuk kumpulan penimbal disebabkan oleh memori sistem yang tidak mencukupi.

Untuk menyelesaikan isu ini, anda boleh mengikuti langkah berikut:

  1. Tambah Ruang Tukar: Kejadian mikro tidak mempunyai ruang swap khusus secara lalai, yang boleh diatasi dengan mencipta fail swap. Jalankan arahan berikut:

    • dd if=/dev/zero of=/swapfile bs=1M count=1024
    • mkswap /swapfile
    • swapon /swapfile
  2. Tingkatkan Kolam Penampan Saiz: Untuk memperuntukkan lebih banyak memori untuk kumpulan penimbal, tingkatkan parameter innodb_buffer_pool_size dalam fail konfigurasi MySQL anda (my.cnf). Pastikan nilai berada dalam julat memori yang tersedia.
  3. Gunakan Perkhidmatan RDS: Untuk aplikasi kritikal misi, pertimbangkan untuk menggunakan Perkhidmatan Pangkalan Data Perhubungan Amazon (RDS), perkhidmatan pangkalan data terurus yang mengendalikan memori peruntukan dan penskalaan secara automatik.

Contoh Konfigurasi

Berikut ialah contoh konfigurasi my.cnf dengan peningkatan saiz kolam penimbal dan ruang swap:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
innodb_buffer_pool_size=1G

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Nota: Nilai khusus untuk innodb_buffer_pool_size hendaklah dilaraskan berdasarkan anda keperluan memori aplikasi. Ia tidak boleh melebihi memori sistem yang tersedia.

Atas ialah kandungan terperinci Mengapa MySQL Saya di Amazon EC2 Micro Instance Menggugurkan Permulaan dengan Ralat 12 (Memori Tidak Mencukupi)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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