Cách Tạo Script Restart MySQL khi Bị Dừng Trên Máy Chủ Linux

Bài viết này LANIT sẽ hướng dẫn bạn cách tạo Script Restart MySQL khi bị dừng trên máy chủ Linux với một số lệnh đơn giản. Theo dõi ngay nhé!

Tại sao MySQL bị dừng trên Linux Server

Trong quá trình sử dụng hay quản trị máy chủ Linux, tình trạng dịch vụ MyQSL bị treo hoặc Stop ở một số thời điểm không còn quá xa lạ. Điều này xảy ra có thể vì một số nguyên nhân như dung lượng bị đầy hoặc do sử dụng vượt quá tài nguyên RAM trên máy chủ. Khi tài nguyên RAM trên máy chủ Linux bị quá tải, thì dịch vụ OOM sẽ phải kill tiến trình MyQSL để giảm tải tài nguyên này.

Tạo Script Restart MySQL khi Bị Dừng Trên Máy Chủ Linux
Tại sao MySQL bị dừng trên Linux Server?

Trường hợp MySQL bị Stop do đầy dung lượng, thì bạn cần kiểm tra và xóa bớt các dữ liệu không quan trọng thì mới có thể Start lại MySQL. Còn nếu MySQL bị Stop do quá tải tài nguyên RAM hay bất kỳ lý do khác thì bạn nên áp dụng cách tạo Script như hướng dẫn dưới đây.

Hướng dẫn tạo Script để Restart MySQL khi bị Stop trên Linux Server

Script là ngôn ngữ máy tính dùng để cung cấp các hướng dẫn cho phần mềm. Trong các phần mềm, phần vỏ của hệ thống có thể được tự động hóa thông qua các ngôn ngữ Script.

Để tự động khởi động lại MySQL khi bị Stop trên máy chủ Linux, bạn có thể sử dụng một Script và lên lịch chạy nó thông qua cron job.

Dưới đây là ví dụ về một script bash để kiểm tra trạng thái của MySQL và khởi động lại nó nếu cần thiết:

Bước 1: Tạo một tệp văn bản mới và mở nó để chỉnh sửa:

sudo nano /usr/local/bin/check_mysql.sh

Bước 2: Thêm nội dung sau vào tệp văn bản:

!/bin/bash

Kiểm tra trạng thái của MySQL

mysql_status=$(systemctl is-active mysql)

Nếu MySQL không hoạt động, khởi động lại

if [ "$mysql_status" != "active" ]; then
systemctl restart mysql
echo "MySQL đã được khởi động lại vào $(date)" >> /var/log/mysql_restart.log
fi

Bước 3: Lưu và thoát khỏi trình soạn thảo.

Cấp quyền thực thi cho script:

sudo chmod +x /usr/local/bin/check_mysql.sh

Bước 4: Mở crontab để thêm một công việc lên lịch chạy script định kỳ:

sudo crontab -e

Bước 5: Thêm dòng sau để chạy script mỗi 5 phút (hoặc theo một định dạng lịch khác nếu bạn muốn):

*/5 * * * * /usr/local/bin/check_mysql.sh

Lưu và thoát khỏi trình soạn thảo.

Script này sẽ kiểm tra trạng thái của MySQL mỗi 5 phút và nếu nó không hoạt động, nó sẽ khởi động lại MySQL và ghi lại sự kiện vào tệp nhật ký /var/log/mysql_restart.log. Bạn có thể thay đổi đường dẫn của tệp nhật ký theo ý muốn của mình.

Lưu ý : Việc tự động khởi động lại MySQL có thể không phải là giải pháp tốt nhất trong mọi tình huống. Nếu MySQL thường xuyên gặp sự cố, bạn nên xem xét nguyên nhân và giải quyết vấn đề thay vì giải quyết bề nổi bằng cách khởi động lại.

Lời kết

Trên đây là các bước để tạo Script khởi động lại MySQL khi bị dừng trên máy chủ Linux. Nếu bạn còn có thắc mắc cần giải đáp hoặc cần tư vấn về dịch vụ máy chủ, VPS giá rẻ tại LANIT, liên hệ ngay để được tư vấn chi tiết!

avata Hải

Triệu Huyền Trang

Triệu Huyền Trang chuyên gia 3 năm kinh nghiệm trong ngành Công Nghệ, Phần Mềm. Chuyên chia sẻ các kiến thức phần mềm mã nguồn, ứng dụng và thông tin về công nghệ hữu ích.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!