כאשר אתה מנהל שרתי לינוקס עם מסדי נתונים, הפסקת שירות mysqld מסיבות שונות אינה תקרית נעימה במיוחד. במדריך זה אתה לומד כיצד להפעיל את MySQL באופן אוטומטי אם הוא מפסיק מסיבה כלשהי באמצעות סקריפט ו-crontab.
תוֹכֶן
מסיבה לא ידועה בזמנים מסוימים, הדמון mysqld נעצר בפתאומיות מבלי להפעיל מחדש באופן אוטומטי. מכיוון שהלוגים של השרת לא עזרו לי במיוחד, חיפשתי פתרון לבדיקת הפעלת שירות mysqld, ואם הוא לא פעיל, להפעיל אותו דרך crontab.
כיצד להתחיל MySQL באופן אוטומטי אם זה נעצר? [לינוקס]
בשרתי MySQL עם MadiaDB, שירות mysqld אמור בדרך כלל להפעיל מחדש באופן אוטומטי כאשר הוא מפסיק מסיבות שונות. אם זה לא יקרה, הסקריפט למטה יבדוק מעת לעת אם הדמון mysqld פועל ויעזור להפעיל את MySQL באופן אוטומטי אם הוא יופסק.
הבדיקה שלי מתבצעת במערכת ההפעלה Debian 12, MariaDB 10.11.4ו
1. פתח את המסוף וצור את הקובץ עבור הסקריפט העתידי שיתחיל את שירות mysqld אם הוא יופסק.
אני מעדיף להשתמש בעורך “nano“ו
sudo nano /usr/local/bin/autostart_mysql.sh
2. בקובץ החדש “autostart_mysql.sh” העתק את התסריט למטה:
#!/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
3. שמור את הקובץ החדש “autostart_mysql.sh“, ולאחר מכן הגדר הרשאות הפעלה.
chmod +x /usr/local/bin/autostart_mysql.sh
4. נווט אל “/usr/local/bin/” ובדוק את הסקריפט על ידי הפעלת הפקודה: “./autostart_mysql.sh“ו
![כיצד להתחיל MySQL באופן אוטומטי אם זה נעצר? [לינוקס]](https://stealthsettings.com/wp-content/uploads/2023/11/Autostart-mysql-service.webp)
כרגע, התסריט שממנו אתה מתחיל Mysql אוטומטית יפעל רק כאשר הוא מופעל באופן ידני. נוסף ל-crontab, הוא יפעל מעת לעת, במרווח זמן שנקבע על ידינו. אני בחרתי את התסריט “autostart_mysql.sh” לרוץ כל 3 דקות.
איך מוסיפים תסריט לרואה החשבון?
כדי להוסיף סקריפט ל-crontab להפעלה מעת לעת, במרווח זמן שנקבע על ידך, הפעל את הפקודה: crontab -e, ולאחר מכן הוסף את שורת הפקודה לסוף הקובץ.
*/3 * * * * /usr/local/bin/autostart_mysql.sh
*/3 מציין שהתסריט יבוצע כל 3 דקות.
שמור את ה-crontab וצא מהעורך.
לאחר שלב זה, בדוק את השירות mysqld זה יתבצע כל 3 דקות, ואם השירות יופסק, הוא יופעל אוטומטית.
אם אתה צריך עזרה או הבהרות אחרות, נשמח לענות על הערותיך.