• Home
  • VPS

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!

duc2ht
 

>