Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysql Lỗi nghiêm trọng:không thể cấp phát bộ nhớ cho vùng đệm

TLDR;

Mysql không thể khởi động lại vì hết bộ nhớ, hãy kiểm tra xem bạn đã định cấu hình tệp hoán đổi thích hợp chưa.

Không giúp được gì? Nếu đó không phải là vấn đề của bạn, các câu hỏi đủ tiêu chuẩn hơn để tiếp tục nghiên cứu là:

Bối cảnh

Chính xác là tôi đã gặp sự cố này trên hệ thống đầu tiên mà tôi thiết lập trên EC2, có đặc điểm là trang web wordpress được lưu trữ ở đó thỉnh thoảng gặp sự cố với "Lỗi khi thiết lập kết nối cơ sở dữ liệu".

Các bản ghi cho thấy cùng một lỗi mà OP đã đăng. Tôi đọc được lỗi (dấu thời gian đã bị xóa) là:

  • Lỗi hết bộ nhớ: InnoDB: Fatal error: cannot allocate memory for the buffer pool
  • InnoDB không thể khởi động nếu không có đủ bộ nhớ [ERROR] Plugin 'InnoDB' init function returned error. [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. [ERROR] Unknown/unsupported storage engine: InnoDB [ERROR] Aborting
  • mysqld đang tắt, điều này thực sự có nghĩa là không thể khởi động lại! [Note] /usr/sbin/mysqld: Shutdown complete

Kiểm tra /var/log/syslog và tìm kiếm mysql sản lượng:

Out of memory: Kill process 15452 (mysqld) score 93 or sacrifice child
Killed process 15452 (mysqld) total-vm:888672kB, anon-rss:56252kB, file-rss:0kB
init: mysql main process (15452) killed by KILL signal
init: mysql main process ended, respawning
type=1400 audit(1443812767.391:30): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=21984 comm="apparmor_parser"
init: mysql main process (21996) terminated with status 1
init: mysql main process ended, respawning
init: mysql post-start process (21997) terminated with status 1
<repeated>

Lưu ý:bạn có thể phải gunzip và tìm kiếm trong các nhật ký đã lưu trữ nếu lỗi xảy ra trước khi các nhật ký được xoay vòng bằng cron.

Giải pháp

Trong trường hợp của tôi, vấn đề cơ bản là tôi đã sơ ý định cấu hình một tệp hoán đổi.

Bạn có thể kiểm tra xem mình đã định cấu hình chưa bằng cách chạy free -m .

total used free shared buffers cached Mem: 604340 587364 16976 0 29260 72280 -/+ buffers/cache: 485824 118516 Swap: 0 0 0

Trong ví dụ trên, Swap:0 cho biết không có swapfile.

Hướng dẫn thiết lập một:

Lưu ý rằng lớn hơn không nhất thiết phải tốt hơn! Từ hướng dẫn Ubuntu :

Về các câu trả lời khác ở đây ...

The InnoDB memory heap is disabled

Cảm ơn: Nhận xét của Ruben Schade

[Note] Plugin 'FEDERATED' is disabled.

Xem: https://stackoverflow.com/a/16470822/2586761



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Amazon RDS không thể thực thi lệnh SET GLOBAL

  2. cách thay đổi định dạng dấu thời gian trong mysql

  3. Đánh số hàng bằng p:dataTable

  4. Lỗi datetime Mysql DEFAULT CURRENT_TIMESTAMP

  5. Erlang emysql Vấn đề mã hóa biểu tượng cảm xúc iPhone