Como inicio / paro o servidor mysql?

211

Tentei encontrar em alguns artigos descrevendo como iniciar e parar corretamente o servidor mysql.

Eu encontrei este link: Como iniciar / parar o servidor MySql no Ubuntu 8.04 | O mundo dos blogs de Abhi

Eu executei este comando:

/etc/init.d/mysql start 

mas vejo esse erro

ERROR 1045 (28000) Access denied for user....

Depois que eu tentei este comando:

sudo /etc/init.d/mysql start

Digitei minha senha e novamente vejo o mesmo erro.

Próximo comando:

sudo /etc/init.d/mysql - root -p start

resulta em:

ERROR 1049 (42000) Unknown database 'start'.

E quando eu executo este comando:

sudo service mysql start

Iniciado o sucesso do servidor MySQL. Legal!

Então, o que há de errado com os outros comandos? Por que eles resultam em erro?

user471011
fonte
3
De fato, mesmo com o sudo, não funcionou para mim, mas então encontrei no script a seguinte dica: Em vez de invocar scripts init por meio do /etc/init.d, use o serviço (8) e estava tudo bem
Timofey
2
Tim está correto. Use o serviço sudo mysql start .
Ed Manet #
Geralmente, você pode usar o sudo -l para ver o que seu usuário específico no seu sistema específico tem permissão para fazer com o sudo. (Suas permissões estão configuradas em / etc / sudoers.) No entanto, não sei ao certo se isso ajudaria nesse caso específico. EDIT: Espere, não importa, o erro de acesso negado parece que está vindo do MySQL ou algo assim, não sudo.
David Winiecki

Respostas:

230

Seus dois primeiros comandos não foram executados como raiz, portanto, é o comportamento esperado. Você precisa ser root para parar / iniciar o mysql.

Contudo:

sudo /etc/init.d/mysql start

Deveria trabalhar. De fato, para mim:

kojan:~> sudo /etc/init.d/mysql restart
[sudo] password for chris: 
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Usei reiniciar em vez de iniciar, pois ele já estava em execução, mas o efeito é o mesmo. Tem certeza de que digitou sua senha corretamente? :) Você editou sua configuração do sudo, o que impediria isso de funcionar?

Este..

sudo /etc/init.d/mysql - root -p start

Os argumentos estão errados. um script init.d usa apenas startou stopou restart- apenas uma palavra dizendo o que fazer. Você não pode apresentar vários argumentos como estava tentando fazer.

De qualquer forma, a resposta curta é a que você realmente conseguiu trabalhar, é a maneira recomendada. serviceestá substituindo todos os scripts init.d ao longo do tempo, então você deve adquirir o hábito de usá-lo service. A página que você vincula tem 3 anos; portanto, deve ser usada com um pouco de sal :)

Césio
fonte
7
Além disso, tente sudo início mysql serviço
2
start mysqlfuncionou para mim (Ubuntu 12.04.4).
Tim
3
sudo /etc/init.d/mysql restartreiniciei o MySQL para mim
Edward
6
que tal sudo systemctl start mysqlpara o Ubuntu 16.04 e superior?
Ankit Balyan
86

Também ajuda a verificar se "mysql" é o nome correto do serviço. No meu caso, não foi. Continuei recebendo a seguinte resposta: mysql: serviço não reconhecido ao executar

service mysql status 

Então verifiquei o arquivo /etc/init.d e encontrei o script chamado mysqld, que listava o nome do processo: mysqld e prog = mysqld

Então eu fiz

service mysqld status
service mysqld stop
service mysqld start 

e todos eles funcionaram bem.

user140589
fonte
4
mysql: unrecognized service
Verde
7
Pelo menos em 13.10, você precisará executá-lo com privilégios de root. por exemplo, "status do serviço mysql sudo".
Bryce
13
Para 14,10 eu precisava usar "mysql" não mysql d
redanimalwar
1
ao executar sem direitos de root, dirá unknown job: mysql. um pouco confuso.
phil294
1
Failed to start mysqld.service: Unit mysqld.service not found.
JCarlos
30

Para o Ubuntu 12.10 e posterior:

START MYSQL:

sudo start mysql

REINICIE O MYSQL:

sudo restart mysql # The service must be running

PARE O MYSQL:

sudo stop mysql # The service must be running
Lucio
fonte
3
stop: Unknown job: mysql
Verde
@ Green Eu apenas tentei isso (um ano depois) e ainda está funcionando. Este é o meu resultado: mysql stop/waiting. Você deve saber que você já deve estar executando mysqlpara impedir isso;)
Lucio
1
Herói, você salva minha vida, que o mysqld tem ocupado a memória da minha máquina por tanto tempo. Eu tentei todos os tipos de métodos para removê-lo, mas tudo falhou, até encontrar sua resposta.
Zen
sudo: start: command not found
JCarlos
1
@JCarlos Doapt install upstart
Edward
9

Na verdade, recebi um erro estranho quando instalei o mysql-workbench na minha máquina Ubuntu. Depois disso, tentei iniciar o serviço mysql usando este comando:

service mysql start

Então, obtive a solução de que o servidor MySQL não estava instalado, então instalei-o e meu problema foi resolvido. O comando para instalar o mysql-server é:

sudo apt-get install mysql-server

Após a instalação bem-sucedida, inicie o servidor MySQL como:

service mysql start
Akash5288
fonte
4

Eu tive o mesmo problema com o Ubuntu64 e corrigi-o simplesmente não usando o systemctl, mas o seguinte:

sudo service mysql restart

espero que este comando funcione para você.

Faisal Julaidan
fonte
2

Este deve funcionar para o servidor mysql criado manualmente:

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql
Aram Paronikyan
fonte
2

Depois de instalar o MySQL no seu sistema, faça o seguinte:

status do serviço mysql

se o serviço inoperante fizer apenas isso:

$ service mysql start

e por interromper meu serviço que:

$ service mysql stop

Manochehr Rasouli
fonte
1
/etc/init.d/mysql starte service mysql startsão exatamente iguais.
tempestade
1

Fiquei com o mesmo problema, desinstalei e instalei novamente seguindo os comandos abaixo:

1) sudo apt-get --purge remove mysql-server mysql-common mysql-client

2) atualização do sudo apt && sudo apt dist-upgrade && sudo apt autoremove

3) sudo apt-get install -y mysql-server mysql-client

Narmatha
fonte
0

Um pequeno script para cobrir os dois casos [servidor em execução / servidor não em execução]:

#!/bin/bash

service mysql restart
if [ "$?" != "0" ]; then
  service mysql start
fi
ReverseEMF
fonte
0

No ubuntu 18.04, o soquete é definido no arquivo

 /etc/mysql/mysql.conf.d/mysqld.cnf

 socket     = /var/run/mysqld/mysqld.sock

O diretório não estava presente, então eu o criei manualmente como abaixo:

sudo mkdir -p /var/run/mysqld

Reinicie o mysql. Isso resolveu o meu caso aqui.

Noel
fonte