عند إدارة خوادم Linux باستخدام قواعد البيانات، فإن إيقاف خدمة 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 دقائق، وفي حالة توقف الخدمة سيتم تشغيلها تلقائيًا.
إذا كنت بحاجة إلى مساعدة أو توضيحات أخرى، يسعدنا الرد على تعليقاتك.