Como iniciar o mysqld através do mysqld_safe

0

Especificações:

Versão do MySQL Server: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)

Ubuntu-Server 14.04 LTS

Arquivo MySQL-Config-padrão

Pergunta:

Mesmo depois de passar muito tempo, não consigo descobrir porque não consigo iniciar o mysqld através do mysqld_safe.

MySQLDocs estão dizendo que:

mysqld_safe is the recommended way to start a mysqld server on Unix and NetWare. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log file.

Além disso, eu entendo que o mysqld_safe é algum tipo de wrapper em torno do mysqld. Ao invocar o mysqld_safe ele tentará iniciar o mysqld.

Como invocar o mysqld_safe?

Não há init-script em /etc/init.d denominado mysqld_safe . Apenas um script chamado mysqld .

Portanto

sudo service mysqld start

passa diretamente para /etc/init.d/mysqld . Em que /etc/init.d/mysqld saltaria para case start em execução:

 # Start MySQL!
 /usr/bin/mysqld_safe > /dev/null 2>&1 &

Mas é o mysqld_safe agora em execução ou não?

ps -aux | grep my fornece a seguinte saída:

mysql    31168  0.0  4.2 318348 43648 ?        Ssl  14:35   0:03 /usr/sbin/mysqld

e não

mysql    31168  0.0  4.2 318348 43648 ?        Ssl  14:35   0:03 /usr/sbin/mysqld_safe

Por quê?

Como eu posso iniciar o mysqld através do mysqld_safe como eu quero fazer da maneira certa e não do jeito preguiçoso como '' Ah, esqueça ... pelo menos está funcionando ''.

Eu quero aprender alguma coisa ..

    
por Mike 16.06.2015 / 16:24

2 respostas

1

mysqld_safe é o processo "angel" que monitora o MySQL e o reinicia quando falhar.

Dessa forma, foi implementado originalmente. Algumas distribuições agora começam a gerenciar os processos em si e não iniciam mysqld_safe .

No Ubuntu 14.04, você pode executar sudo /etc/init.d/mysql start em vez de sudo service mysql start para que alguns garfos do mysql possam executar o mysqld_safe. (por exemplo, algumas opções, por exemplo, jemalloc estava usando mysqld_safe).

    
por Alexander Rubin 22.03.2017 / 00:15
0

mysqld_safe é apenas um script para iniciar o daemon mysqld . Ele sai assim que o daemon é executado, por isso você não vê o mysqld_safe rodando com ps . Você veria, no entanto, se você fosse muito rápido.

    
por Jos 16.06.2015 / 16:38