Rumah >pangkalan data >tutorial mysql >Mengapakah pelayan MySQL saya pada contoh EC2 mikro ranap dengan \'InnoDB: mmap (x bait) gagal; errno 12,\' dan bagaimana saya boleh membetulkannya?

Mengapakah pelayan MySQL saya pada contoh EC2 mikro ranap dengan \'InnoDB: mmap (x bait) gagal; errno 12,\' dan bagaimana saya boleh membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-30 21:17:12683semak imbas

Why is my MySQL server on a micro EC2 instance crashing with

"Amazon EC2, mysql membatalkan permulaan kerana InnoDB: mmap (x bait) gagal; errno 12"

Dalam senario ini, pelayan MySQL pada contoh mikro EC2 berulang kali ranap dengan ralat "InnoDB: mmap (x bait) gagal; errno 12." Walaupun percubaan untuk memulakan semula pelayan, isu ini berterusan. Setelah meneliti log MySQL, ternyata bahawa permulaan kumpulan penimbal InnoDB gagal kerana peruntukan memori yang tidak mencukupi.

Memahami Isu

Kolam penimbal InnoDB menyimpan data yang kerap diakses dalam memori untuk dioptimumkan prestasi operasi pangkalan data. Walau bagaimanapun, dalam kes ini, kapasiti memori terhad contoh mikro menghalang peruntukan ruang yang mencukupi untuk kumpulan penimbal. Akibatnya, InnoDB gagal untuk memulakan dan pelayan MySQL ditamatkan dengan mesej ralat.

Mengkonfigurasi Ruang Swap

Untuk menyelesaikan isu ini, adalah disyorkan untuk mencipta ruang swap, yang pada asasnya bertindak sebagai tambahan ingatan maya. Ini membolehkan sistem pengendalian menggunakan ruang cakera yang tidak digunakan sebagai RAM, dengan itu meningkatkan memori yang tersedia untuk operasi kritikal seperti InnoDB.

Mencipta Ruang Swap

Mencipta ruang swap melibatkan langkah berikut:

  1. Buat fail baharu yang akan berfungsi sebagai pertukaran ruang:
dd if=/dev/zero of=/swapfile bs=1M count=1024
  1. Formatkan fail yang baru dibuat sebagai fail swap:
mkswap /swapfile
  1. Aktifkan fail swap:
swapon /swapfile
  1. Untuk memastikan fail swap berterusan sepanjang but semula, edit fail /etc/fstab dan tambah baris berikut:
/swapfile swap swap defaults 0 0

Penyelesaian Alternatif: RDS

Jika mencipta ruang swap tidak menyelesaikan isu, penyelesaian alternatif ialah untuk menggunakan Amazon RDS (Perkhidmatan Pangkalan Data Perhubungan). RDS ialah perkhidmatan pangkalan data terurus daripada AWS yang menyediakan contoh pangkalan data khusus dengan sumber memori dan storan yang terjamin. Dengan memindahkan pangkalan data kepada tika RDS, isu peruntukan memori terhad pada tika mikro boleh dielakkan.

Atas ialah kandungan terperinci Mengapakah pelayan MySQL saya pada contoh EC2 mikro ranap dengan \'InnoDB: mmap (x bait) gagal; errno 12,\' dan bagaimana saya boleh membetulkannya?. 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