Khi quản lý máy chủ cơ sở dữ liệu Linux, việc dịch vụ mysqld bị tắt đột ngột có thể gây ra sự bất tiện đáng kể. Trong hướng dẫn này, bạn sẽ biết cách tự động khởi động MySQL nếu nó dừng vì nhiều lý do khác nhau bằng cách sử dụng tập lệnh và crontab.
Vì những lý do không rõ ràng, daemon mysqld có thể dừng đột ngột và không tự động khởi động lại trong một số tình huống hoặc thời điểm nhất định. Vì các tệp nhật ký máy chủ không cung cấp thông tin hữu ích về vấn đề này nên tôi đã tìm kiếm giải pháp để theo dõi trạng thái của dịch vụ mysqld. Do đó, trong trường hợp nó không hoạt động, quá trình khởi động lại tự động sẽ được bắt đầu bằng cronjob.
Hãy xem hướng dẫn từng bước để giải quyết vấn đề này. (Đã thử nghiệm trên Linux Debian 12)
Cách tự động khởi động MySQL nếu nó dừng
Bước đầu tiên là tạo tập lệnh sẽ khởi động lại dịch vụ mysqld nếu nó bị dừng.
1. Mở trình soạn thảo văn bản (chẳng hạn như nano
hoặc vi
) và sao chép đoạn script bên dưới sang một tệp mới. Ví dụ: bạn có thể sử dụng:
nano /path/to/your/script.sh
Sao chép tập lệnh:
#!/bin/bash
if systemctl is-active mysqld > /dev/null; then
echo "The mysqld service is running."
else
echo "The mysqld service is not running. Restarting..."
systemctl start mysqld
fi
Lưu và đóng trình soạn thảo văn bản.
2. Cấp quyền thực thi cho tập lệnh để đảm bảo tập lệnh có thể chạy được:
chmod +x /path/to/your/script.sh
3. Thêm đoạn script bên dưới vào crontab (yêu cầu: crontab -e
cho phép bạn chỉnh sửa):
*/3 * * * * /path/to/your/script.sh
Dòng trên chỉ định rằng tập lệnh sẽ được chạy 3 phút một lần. biểu tượng */3
có nghĩa là "cứ sau 3 phút". Về cơ bản, với dòng này bạn tự động khởi động MySQL bằng script.sh
.
4. Lưu và đóng file crontab.
Bây giờ, kịch bản của bạn script.sh
sẽ được chạy tự động cứ sau 3 phút để kiểm tra trạng thái dịch vụ mysqld
và khởi động lại nó nếu cần thiết.
Nếu có sự cố xảy ra và bạn cần trợ giúp, chúng tôi sẵn lòng trả lời ý kiến của bạn.