Como faço para criar um arquivo de configuração da unidade de serviço systemd para o servidor MySQL?

Como faço para criar um arquivo de configuração da unidade de serviço systemd para o servidor MySQL?

Atualizar Consegui criar o arquivo mysqld.service graças ao uso de /etc/systemd/system exist conforme sugerido por Robert Longson

Agora meu problema mudou. Quando inicio o serviço ele falha. Corri systemctl status mysqld.servicee aqui está o 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

Estou tentando iniciar o MySQL Server 5.7, usando o systemd, pela primeira vez após instalá-lo. O manual diz para criar um arquivo de configuração em /usr/lib/systemd/systemmas esse subdiretório não existe(Estou no Ubuntu 18.04). Estou seguindo este guia:

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

Para configurar a instalação do MySQL para funcionar com o systemd:

  1. Adicione um arquivo de configuração da unidade de serviço systemd com detalhes sobre o serviço MySQL. O arquivo é denominado mysqld.service e é colocado em /usr/lib/systemd/system.
shell> cd /usr/lib/systemd/system
shell> touch mysqld.service
shell> chmod 644 mysqld.service

Como não tenho o subdiretório 'system' do systemd, acabei de criar o arquivo mysql.servicediretamenteem /usr/lib/systemd. Depois de seguir o restante das instruções, cheguei a:

shell> systemctl start mysqld

mas falhou com:

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

Alguém poderia explicar o que fiz de errado? Obrigado.

Responder1

Os arquivos de serviço estão na verdade em /etc/systemd/system em vez de /usr/lib/systemd/system

Se você quiser descobrir por que seu serviço está falhando, você pode tentar systemctl status mysqldou para obter um registro mais completo, consulte o comando journalctl, por exemplo journalctl -u mysqld -S today.

informação relacionada