Cómo iniciar MySQL automáticamente si se detiene [Linux]

Cuando administras servidores Linux con bases de datos, la detención inesperada del servicio mysqld por diversas razones no es una situación agradable. En este tutorial aprenderás cómo iniciar automáticamente MySQL si se detiene por cualquier motivo, con la ayuda de un script y el crontab.

Por razones desconocidas, a veces el demonio mysqld se detiene repentinamente sin reiniciarse automáticamente a ciertas horas. Como los registros del servidor no me han ayudado mucho, busqué una solución para verificar si el servicio mysqld está en ejecución y, en caso de que no lo esté, iniciarlo a través de un crontab.

Cómo iniciar MySQL automáticamente si se detiene [Linux]

En los servidores MySQL con MariaDB, normalmente el servicio mysqld debería reiniciarse automáticamente cuando se detiene por diversas razones. Si eso no sucede, el script a continuación verificará periódicamente si el demonio mysqld está en ejecución y te ayudará a iniciar automáticamente MySQL si está detenido.

Mi prueba se realizó en el sistema operativo. Debian 12, MariaDB 10.11.4.

1. Abra la consola y cree el archivo para el futuro script que iniciará el servicio mysqld si se detiene.

Prefiero usar el editor "nano".

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

2. En el nuevo archivo “autostart_mysql.sh” copie el script a continuació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. Guarde el nuevo archivo “autostart_mysql.sh“, luego configure los permisos de ejecución.

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

4. Navega hasta "/usr/local/bin/" y pruebe el script con el comando: "./autostart_mysql.sh".

Cómo iniciar MySQL automáticamente si se detiene [Linux]
Servicio mysql de inicio automático

En este momento, el guión desde el que estás empezando MySQL automáticamente solo se ejecutará cuando se ejecute manualmente. Agregado al crontab, se ejecutará periódicamente, en un intervalo de tiempo establecido por nosotros. Elegí que el guión"autostart_mysql.sh”que se ejecutará cada 3 minutos.

¿Cómo agregar un script al crontab?

Para agregar un script al crontab para que se ejecute periódicamente, en un intervalo de tiempo establecido por usted, ejecute el comando: crontab -e, luego agregue la línea de comando al final del archivo.

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

*/3 especifica que el script se ejecutará cada 3 minutos.

Guarde el crontab y salga del editor.

Después de este paso, verifique el servicio. mysqld se hará cada 3 minutos, y si se detiene el servicio, se iniciará automáticamente.

Si necesita ayuda u otras aclaraciones, estaremos encantados de atender sus comentarios.

Apasionado por la tecnología, escribo con gusto en StealthSettings.com desde el año 2006. Tengo una amplia experiencia en sistemas operativos: macOS, Windows y Linux, así como en lenguajes de programación y plataformas de blogs (WordPress) y para tiendas en línea (WooCommerce, Magento, PrestaShop).

Cómo » Linux » MySQL » Cómo iniciar MySQL automáticamente si se detiene [Linux]
Deja un comentario