¿Cómo creo un archivo de configuración de unidad de servicio systemd para el servidor MySQL?

¿Cómo creo un archivo de configuración de unidad de servicio systemd para el servidor MySQL?

Actualizar Pude crear el archivo mysqld.service gracias al uso de /etc/systemd/system exist como lo sugirió Robert Longson

Ahora mi problema ha cambiado. Cuando inicio el servicio falla. Corrí systemctl status mysqld.servicey aquí está el resultado:

   Loaded: loaded (/etc/systemd/system/mysqld.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-03-29 19:01:25 CDT; 38s ago
     Docs: man:mysqld(7)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 9251 ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize --pid
mysqld.service: Service hold-off time over, scheduling restart.
mysqld.service: Scheduled restart job, restart counter is at 5.
Stopped MySQL Server.
mysqld.service: Start request repeated too quickly.
mysqld.service: Failed with result 'exit-code'.
mysqld.service: Failedto start MySQL Server

Estoy intentando iniciar MySQL Server 5.7, usando systemd, por primera vez después de instalarlo. El manual dice crear un archivo de configuración en /usr/lib/systemd/systempero ese subdirectorio no existe(Estoy en Ubuntu 18.04). Estoy siguiendo esta guía:

https://dev.mysql.com/doc/mysql-secure-deployment-guide/5.7/en/secure-deployment-post-install.html#secure-deployment-systemd-startup

Para configurar la instalación de MySQL para que funcione con systemd:

  1. Agregue un archivo de configuración de la unidad de servicio systemd con detalles sobre el servicio MySQL. El archivo se llama mysqld.service y se coloca en /usr/lib/systemd/system.
shell> cd /usr/lib/systemd/system
shell> touch mysqld.service
shell> chmod 644 mysqld.service

Como no tengo el subdirectorio 'system' de systemd, simplemente creé el archivo mysql.servicedirectamenteen /usr/lib/systemd. Después de seguir el resto de las instrucciones, llegué a:

shell> systemctl start mysqld

pero falló con:

Failed to enable unit: Unit file mysqld.service does not exist.

¿Alguien podría explicar qué he hecho mal? Gracias.

Respuesta1

Los archivos de servicio en realidad están en /etc/systemd/system en lugar de /usr/lib/systemd/system

Si desea saber por qué falla su servicio, puede intentarlo systemctl status mysqldo, para obtener un registro más completo, consultar el comando journalctl, por ejemplo journalctl -u mysqld -S today.

información relacionada