Chia sẻ về Lỗi “Error establishing a database connection” của WordPress và cách Fix

1. Tình trạng lỗi:

Website vps đang chạy bình thường, bỗng nhiên xuất hiện lỗi “Error establishing a database connection”, lỗi này cho thấy WordPress không thể kết nối được Database, trong nhiều trường hợp, chỉ cần restart lại service MySQL sẽ hoạt động lại bình thường.
Có nhiều nguyên nhân dẫn đến lỗi này, hôm nay mình chia sẻ với các bạn 1 case thực tế mình vừa gặp sáng nay và cách xác định nguyên nhân chính dẫn đến lỗi để có hướng khắc phục triệt để.
* Khi bị lỗi, vào kiểm tra thấy dịch vụ MySQL đã bị stop, phóng ngay lệnh “dmesg” để xem log của hệ thống, phát hiện OOM Killer (Out Of Memory Killer) đã kill process MySQL:
(Hình 1)
89714807_910613399368824_6654972093379117056_n
Trước mắt, đã xác định được nguyên nhân MySQL bị stop là do OOM Killer. Hãy nhìn kỹ vào thông báo trên, một số thông tin quan trọng cần phải để ý:
  • Out of memory: Kill process 27657 (mysqld): Confirm lại chính OOM đã kill mysqld khi hệ thống bị hết RAM.
  • Số lượng process httpd được sinh ra rất nhiều: đây chính là nguyên nhân gây hết RAM.
  • Process httpd được sinh ra bởi user có UID là 501, đây là thông tin cực kỳ quan trọng
* Tìm user có UID 501: (Hình 2)
89941662_910613322702165_7041310479033040896_n
$ grep 501 /etc/passwd
Khi đã xác định được user, việc tiếp theo là cần check httpd log của user trên (do số lượng process httpd của user trên vào thời điểm lỗi nhiều bất thường). Tuy nhiên, do dmesg log không ghi lại thời gian cụ thể, cần check tiếp message log
$ tail -n 200 /var/log/message
(HÌnh 3)
89951569_910613362702161_4069006188929351680_n
Thời gian được xác định là “05:08:08”, đây là thời điểm OOM được kích hoạt, vậy cần phải khoanh vùng các truy cập vào Website của user admin trong khoảng thời gian từ “05:08:08” trở về trước
Sau khi check log cách đó khoảng 1p30s thì phát hiện:
(HÌnh 4)
89994411_910613339368830_2984988260536680448_n
Vào thời điểm trên, có 1 loạt log nhìn rất bất thường, vì sao?
  • Các truy cập vào chung 1 URL có pattern là “/?add_to_wishlist=xxxx
  • Truy cập xuất phát từ nhiều IP khác nhau nhưng lại chung 1 User-Agent
  • Sử dụng cùng HTTP 1.0
  • Các IP trên khi load URL KHÔNG load kèm theo các static resources như css, js

 

Xem thêm:  Cách sửa lỗi not responding trên Win 10
0/5 (0 Reviews)