Hvordan starter du MySQL automatisk, hvis det stopper? [Linux]

Når du administrerer Linux-servere med databaser, er det ikke en behagelig begivenhed, når mysqld-tjenesten stopper af forskellige årsager. I denne vejledning lærer du, hvordan du automatisk starter MySQL, hvis det stopper af en eller anden grund, ved hjælp af et script og crontab.

Af ukendte årsager stopper mysqld-dæmonen pludselig ved visse tidspunkter uden automatisk at genstarte. Da serverlogfilerne ikke har hjulpet meget, har jeg ledt efter en løsning til at kontrollere statussen for mysqld-tjenesten, og hvis den ikke er aktiv, starte den via crontab.

Hvordan starter du MySQL automatisk, hvis det stopper? [Linux]

På MySQL-servere med MariaDB bør mysqld-tjenesten normalt genstarte automatisk, når den stopper af forskellige årsager. Hvis dette ikke sker, vil nedenstående script periodisk kontrollere, om mysqld-dæmonen kører, og hjælper dig med at starte MySQL automatisk, hvis den er stoppet.

Min test er lavet på OS Debian 12, MariaDB 10.11.4.

1. Åbn konsollen og opret filen til det fremtidige script, der starter mysqld-tjenesten, hvis den stoppes.

Jeg foretrækker at bruge editor "nano".

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

2. I den nye fil "autostart_mysql.sh" kopier scriptet nedenfor:

#!/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. Gem den nye fil "autostart_mysql.sh", og indstil derefter udførelsestilladelser.

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

4. Naviger til "/usr/local/bin/" og test scriptet ved kommando: "./autostart_mysql.sh".

Hvordan starter du MySQL automatisk, hvis det stopper? [Linux]
Autostart mysql service

Lige nu, scriptet du starter fra MySQL automatisk vil kun køre, når den udføres manuelt. Tilføjet til crontab vil den køre med jævne mellemrum, med et tidsinterval, som er fastsat af os. Jeg valgte at manuskriptet "autostart_mysql.sh” skal køres hvert 3. minut.

Hvordan tilføjer du et script til crontab?

For at tilføje et script til crontab til at køre med jævne mellemrum, med et tidsinterval, der er angivet af dig, skal du køre kommandoen: crontab -e, og tilføj derefter kommandolinjen til slutningen af ​​filen.

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

*/3 angiver, at scriptet vil blive udført hvert 3. minut.

Gem crontab og afslut editoren.

Efter dette trin skal du kontrollere tjenesten mysqld det vil blive gjort hvert 3. minut, og hvis tjenesten stoppes, startes den automatisk.

Har du brug for hjælp eller andre afklaringer, svarer vi gerne på dine kommentarer.

Teknologientusiast, jeg skriver med glæde på StealthSettings.com siden 2006. Jeg har rig erfaring med operativsystemer: macOS, Windows og Linux, samt programmeringssprog og blogplatforme (WordPress) og til onlinebutikker (WooCommerce, Magento, PrestaShop).

Hvordan man » Linux » MySQL » Hvordan starter du MySQL automatisk, hvis det stopper? [Linux]
Efterlad en kommentar