วิธีเริ่ม MySQL โดยอัตโนมัติเมื่อมีการหยุด? [Linux]

เมื่อคุณจัดการกับเซิร์ฟเวอร์ Linux ที่มีฐานข้อมูล เหตุการณ์ที่ไม่คาดคิดของการหยุดบริการ mysqld ด้วยเหตุผลต่าง ๆ ไม่ใช่สถานการณ์ที่ดี ในคู่มือนี้คุณจะเรียนรู้วิธีเริ่ม MySQL โดยอัตโนมัติหากมีการหยุดจากเหตุใดๆ โดยใช้สคริปต์และ crontab

เนื่องจากเหตุที่ไม่ทราบบางประการ daemon mysqld อาจหยุดโดยไม่ได้รับการเริ่มต้นอัตโนมัติในบางช่วงเวลา โดยเนื่องจากบันทึกเซิร์ฟเวอร์ไม่ช่วยมาก เราได้ค้นหาทางออกในการตรวจสอบการทำงานของ mysqld service และหากมันไม่ทำงานให้เริ่มต้นผ่าน crontab

วิธีเริ่ม MySQL โดยอัตโนมัติเมื่อมีการหยุด? [Linux]

ในเซิร์ฟเวอร์ MySQL ที่ใช้ MariaDB ตามปกติ mysqld service ควรเริ่มต้นใหม่โดยอัตโนมัติเมื่อหยุดจากเหตุไหน ๆ หากไม่เป็นเช่นนั้นสคริปต์ด้านล่างจะตรวจสอบเป็นประจำว่า daemon 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 โดยอัตโนมัติเมื่อมีการหยุด? [Linux]
เริ่มบริการ mysql อัตโนมัติ

ตอนนี้สคริปต์ที่คุณเริ่มต้น MySQL จะทำงานโดยอัตโนมัติเมื่อดำเนินการด้วยตนเองเท่านั้น เมื่อเพิ่มเข้าไปใน crontab แล้ว มันจะทำงานเป็นระยะตามช่วงเวลาที่เรากำหนด ฉันเลือกว่าสคริปต์ "autostart_mysql.sh” ให้รันทุกๆ 3 นาที

วิธีการเพิ่มสคริปต์ใน crontab?

หากต้องการเพิ่มสคริปต์ให้กับ crontab เพื่อให้ทำงานเป็นระยะ ตามช่วงเวลาที่คุณกำหนด ให้รันคำสั่ง: crontab -eจากนั้นเพิ่มบรรทัดคำสั่งที่ส่วนท้ายของไฟล์

*/3 * * * * /usr/local/bin/autostart_mysql.sh

*/3 ระบุว่าสคริปต์จะถูกดำเนินการทุกๆ 3 นาที

บันทึก crontab และออกจากโปรแกรมแก้ไข

หลังจากขั้นตอนนี้ ให้ตรวจสอบบริการ mysqld โดยจะดำเนินการทุกๆ 3 นาที และหากบริการหยุดให้บริการจะเริ่มโดยอัตโนมัติ

หากคุณต้องการความช่วยเหลือหรือคำชี้แจงอื่น ๆ เรายินดีที่จะตอบความคิดเห็นของคุณ

เป็นคนรักเทคโนโลยี ฉันเขียนบทความด้วยความสุขบน StealthSettings.com ตั้งแต่ปี 2006 ฉันมีประสบการณ์ที่หลากหลายในระบบปฏิบัติการ: macOS, Windows, และ Linux, รวมถึงภาษาโปรแกรมและแพลตฟอร์มบล็อก (WordPress) และสำหรับร้านค้าออนไลน์ (WooCommerce, Magento, PrestaShop)

วิธีการ » Linux » MySQL » วิธีเริ่ม MySQL โดยอัตโนมัติเมื่อมีการหยุด? [Linux]
แสดงความคิดเห็น