MySQL'i otomatik olarak nasıl başlatırsınız, eğer durursa? [Linux]

Linux sunucularıyla veritabanları yönettiğinizde, mysqld servisinin çeşitli nedenlerden dolayı beklenmedik bir şekilde durması hoş olmayan bir durumdur. Bu kılavuzda, MySQL'in herhangi bir nedenden dolayı durması durumunda nasıl otomatik olarak başlatılacağını, bir script ve crontab kullanarak öğreneceksiniz.

Bilinmeyen nedenlerden dolayı, mysqld daemon'u bazı saatlerde aniden durur ve otomatik olarak yeniden başlamaz. Sunucu logları bana çok yardımcı olmadığı için, mysqld servisinin çalışıp çalışmadığını kontrol etmek ve eğer aktif değilse, crontab kullanarak başlatmak için bir çözüm aradım.

MySQL'i otomatik olarak nasıl başlatırsınız, eğer durursa? [Linux]

MariaDB ile MySQL sunucularında, mysqld servisi genellikle çeşitli nedenlerle durduğunda otomatik olarak yeniden başlamalıdır. Bu gerçekleşmezse, aşağıdaki script, mysqld daemon'unun düzenli olarak çalışıp çalışmadığını kontrol edecek ve durmuşsa MySQL'i otomatik olarak başlatmanıza yardımcı olacaktır.

Testim işletim sistemi üzerinde yapıldı Debian 12, MariaDB 10.11.4.

1. Konsolu açın ve durdurulması durumunda mysqld hizmetini başlatacak gelecekteki komut dosyası için dosyayı oluşturun.

Düzenleyiciyi kullanmayı tercih ediyorum "nano".

sudo nano /usr/local/bin/autostart_mysql.sh

2. Yeni dosyada “autostart_mysql.sh” aşağıdaki betiği kopyalayın:

#!/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. Yeni dosyayı kaydedin “autostart_mysql.sh“, ardından yürütme izinlerini ayarlayın.

chmod +x /usr/local/bin/autostart_mysql.sh

4. “ şuraya gidin:/usr/local/bin/” ve komut dosyasını şu komutla test edin: “./autostart_mysql.sh".

MySQL'i otomatik olarak nasıl başlatırsınız, eğer durursa? [Linux]
MySQL hizmetini otomatik başlat

Şu anda, başladığınız komut dosyası MySQL otomatik olarak yalnızca manuel olarak çalıştırıldığında çalışacaktır. Crontab'a eklendiğinde, tarafımızdan belirlenen zaman aralığında periyodik olarak çalışacaktır. Ben bu senaryoyu seçtim "autostart_mysql.sh” her 3 dakikada bir çalıştırılacak.

Bir script'i crontab'a nasıl eklersiniz?

Crontab'a sizin tarafınızdan belirlenen bir zaman aralığında periyodik olarak çalıştırılacak bir komut dosyası eklemek için şu komutu çalıştırın: crontab -eardından komut satırını dosyanın sonuna ekleyin.

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

*/3 betiğin her 3 dakikada bir çalıştırılacağını belirtir.

Crontab'ı kaydedin ve düzenleyiciden çıkın.

Bu adımdan sonra servisi kontrol edin mysqld 3 dakikada bir yapılacak olup, servisin durdurulması durumunda otomatik olarak başlatılacaktır.

Yardıma veya başka açıklamalara ihtiyacınız varsa yorumlarınızı yanıtlamaktan memnuniyet duyarız.

Teknolojiye tutkulu, 2006 yılından beri StealthSettings.com'da yazıyorum. macOS, Windows ve Linux işletim sistemlerinde geniş deneyimim var, aynı zamanda programlama dilleri ve blog platformları (WordPress) ile online mağazalar için (WooCommerce, Magento, PrestaShop) bilgi sahibiyim.

nasıl » Linux » MySQL » MySQL'i otomatik olarak nasıl başlatırsınız, eğer durursa? [Linux]
Leave a Comment