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 !

Bài viết liên quan

Back to top button