Hướng dẫn fix lỗi Error establishing a database connection trên VPS
Nếu như bạn chưa cài đặt ứng dụng nano thì sử dụng lệnh sau:
– CentOS(wordpress ở vultr dùng cái này):
yum install nano
– Ubuntu:
apt-get install nano
Để sử dụng bạn cần gõ vào lệnh:
nano file_name
Trong đó file_name
là tên file hoặc đường dẫn đến file.
Ở dưới cùng bạn sẽ thấy các phím tắt sử dụng khi thao tác với nano:
- Ký hiệu ^ thay cho phím Ctrl
- Ctrl+O: lưu file
- Ctrl+X: thoát khỏi editor (có thể cần ấn thêm Y/N)
- Ctrl+W: search
Nếu bạn cần phải tự khởi động lại Apache và MySQL trong trường hợp một hoặc cả hai đều bị Crash (gây ra lỗi Error establishing a database connection), chỉ cần sắp xếp kịch bản SH này trên Centos (RHEL) trong phần cron của bạn.
Lưu phần mã dưới đây thành tập tin rst_apc_mysql.sh trong thư mục home của bạn.
Phân quyền cho script, để root có thể thực thi kịch bản và lịch trình nó trong Cron.
1. Tạo bash script rst_apc_mysql
– Tạo file rst_apc_mysql.sh ở thư mục /root/
nano /root/rst_apc_mysql.sh
Copy toàn bộ nội dung script bên dưới rồi paste vào:
#Script by TrungDucZ(duc2ht) if [ ! "$(/sbin/service mysqld status | awk 'NR==1 {print $3}')" == "running" ]; then service mysqld start /etc/init.d/mysqld restart exit fi
– Nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát.
– Phân quyền cho script
chmod +x /root/rst_apc_mysql.sh
– Vậy là xong rồi, giờ bạn có thể test lại bằng cách chạy lệnh /root/rst_apc_mysql.sh
2. Tạo cronjob tự động chạy script kiểm tra lỗi
Giờ mình sẽ cho script tự động chạy 5 phút 1 lần.
EDITOR=nano crontab -e
Dán nội dung sau vào cửa sổ Terminal
*/5 * * * * /root/rst_apc_mysql.sh > /dev/null 2>&1
Nhấn Ctrl+O, Enter để lưu và Ctrl+X để thoát
Vậy là xong, cứ 5 phút script sẽ tự động chạy để kiểm tra xem VPS có MySQL không. Done! Good luck!