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à:
- dịch vụ mysqld dừng một lần một ngày trên máy chủ ec2
- https:// askubuntu. com / question / 422037 / Optimizing-mysql-settings-mysqld-running-out-of-memory
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:
- https:// www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
- https://help.ubuntu.com/community/SwapFaq
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