Linux
Tự khởi động lại MySQL khi quá tải trên máy chủ Linux
Đôi lúc bạn sẽ gặp tình huống dịch vụ MySQL thường xuyên bị treo, mà nguyên nhân là do tài nguyên máy chủ của bạn không đủ đáp ứng, nhưng việc nâng cấp chưa thực sự là cần thiết. Thì đây là giải pháp cho bạn:
Bước 1: Tạo file script
Chạy lần lượt các lệnh sau:
- cd /root
mkdir auto
cd auto
nano -w auto-mysql.sh
(Nếu máy chủ bạn chưa có công cụ Nano bạn vui lòng chạy lệnh cài đặt #yum install nano -y)
Bước 2: Dán đoạn code sau vào file auto-mysql.sh
Nếu bạn đang sử dụng MySQL:
- if [ ! “$(systemctl status mysql.service | awk ‘NR==3 {print $2}’)” == “active” ]; then
/bin/systemctl start mysql.service
exit
fi
Nếu bạn đang sử dụng MariaDB:
- if [ ! “$(/bin/systemctl status mariadb.service | awk ‘NR==3 {print $2}’)” == “active” ]; then
systemctl start mariadb.service
exit
fi
Bước 3: Chạy lệnh phân quyền cho file auto-mysql.sh
- #chmod +x /root/auto/auto-mysql.sh
Bước 4: Đặt thời gian hệ thống tự check trạng thái MySQL và tự động start nếu MySQL không hoạt động
Ví dụ: Bạn muốn 5 phút hệ thống kiểm tra 1 lần
- #(crontab -u root -l ; echo “*/5 * * * * /root/auto/auto-mysql.sh”) | crontab -u root –
Lưu ý:
Với lệnh Cronjob bạn không nên đặt thời gian quá ngắn (dưới 5 phút) điều này sẽ dẫn đến quá tải tài nguyên và lỗi hệ thống.
Chúc bạn thành công !