عند إدارتك لخوادم Linux مع قواعد بيانات، إيقاف خدمة mysqld لأسباب متنوعة ليس واقعًا سارًا. في هذا الدليل، ستتعلم كيفية تشغيل MySQL تلقائيًا إذا توقفت بسبب أي سبب مع مساعدة نص وجدول الأعمال (crontab).
لأسباب غير معروفة، قد يتوقف ديمون mysqld بشكل مفاجئ في بعض الأحيان دون إعادة تشغيل تلقائية في ساعات معينة. بما أن سجلات الخادم لم تكن ذات فائدة كبيرة، قمت بالبحث عن حلاً للتحقق من تشغيل خدمة mysqld، وفي حالة عدم تنشيطها، يتم تشغيلها باستخدام جدول الأعمال (crontab).
المحتوى
كيفية تشغيل MySQL تلقائيًا في حالة إيقافها؟ [Linux]
في خوادم MySQL مع MariaDB، يجب عادةً أن يتم إعادة تشغيل خدمة 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 تلقائيًا في حالة إيقافها؟ [Linux]](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 دقائق، وفي حالة توقف الخدمة سيتم تشغيلها تلقائيًا.
إذا كنت بحاجة إلى مساعدة أو توضيحات أخرى، يسعدنا الرد على تعليقاتك.