¿Cómo inicio / detengo el servidor mysql?

211

Traté de encontrar en algunos artículos que describan cómo iniciar y detener correctamente el servidor mysql.

Encontré este enlace: Cómo iniciar / detener el servidor MySql en Ubuntu 8.04 | El mundo de los blogs de Abhi

Ejecuté este comando:

/etc/init.d/mysql start 

pero veo este error

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

Después de que probé este comando:

sudo /etc/init.d/mysql start

Ingresé mi contraseña y nuevamente veo el mismo error.

Siguiente comando:

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

resultados en:

ERROR 1049 (42000) Unknown database 'start'.

Y cuando ejecuto este comando:

sudo service mysql start

El éxito del servidor MySQL comenzó. ¡Bueno!

Entonces, ¿qué hay de malo con los otros comandos? ¿Por qué resultan en error?

usuario471011
fuente
3
De hecho, incluso con sudo no funcionó para mí, pero luego encontré en el script la siguiente pista: en lugar de invocar scripts de inicio a través de /etc/init.d, use el servicio (8) y estuvo bien
Timofey
2
Tim es correcto. Utilice sudo service mysql start .
Ed Manet
En general, puede usar sudo -l para ver qué puede hacer su usuario específico en su sistema específico con sudo. (Sus permisos están configurados en / etc / sudoers). Sin embargo, no estoy seguro si ayudaría en este caso en particular. EDITAR: Espere, no importa, el error de acceso denegado parece que proviene de MySQL o algo así, no sudo.
David Winiecki

Respuestas:

230

Sus primeros dos comandos no se ejecutaron como root, por lo que es el comportamiento esperado. Debe ser root para detener / iniciar mysql.

Sin embargo:

sudo /etc/init.d/mysql start

Deberia trabajar. De hecho lo hace, para mí:

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..

Utilicé reiniciar en lugar de comenzar, ya que ya se estaba ejecutando, pero el efecto es el mismo. ¿Estás seguro de haber ingresado tu contraseña correctamente? :) ¿Has editado tu configuración de sudo para evitar que esto funcione?

Éste..

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

Los argumentos están equivocados. un guión init.d solo toma starto stopo restart, solo una palabra que le dice qué hacer. No puede darle múltiples argumentos como estaba tratando de hacer.

De todos modos, la respuesta corta es la que realmente tienes para trabajar, es la forma recomendada. serviceestá reemplazando todos los scripts init.d con el tiempo, por lo que debería acostumbrarse a usarlos service. La página que enlace tiene 3 años, por lo que debe tomarse con sal :)

Cesio
fuente
77
2
start mysqlfuncionó para mí (Ubuntu 12.04.4).
Tim
3
sudo /etc/init.d/mysql restartreinició MySQL para mí
Edward
66
¿ sudo systemctl start mysqlQué tal para Ubuntu 16.04 y superior?
Ankit Balyan
86

También ayuda a verificar que "mysql" sea el nombre correcto del servicio. En mi caso no lo fue. Seguí recibiendo la siguiente respuesta: mysql: servicio no reconocido al ejecutar

service mysql status 

Luego verifiqué /etc/init.d y encontré un script llamado mysqld que enumeraba el nombre del proceso: mysqld y prog = mysqld

Entonces lo hice

service mysqld status
service mysqld stop
service mysqld start 

y todos funcionaron bien.

usuario140589
fuente
44
mysql: unrecognized service
Verde
77
Al menos en 13.10, deberás ejecutarlo con privilegios de root. por ejemplo, "sudo service mysql status".
Bryce
13
Para 14.10 necesitaba usar "mysql" no mysql d
redanimalwar
1
cuando se ejecuta sin derechos de root, dirá unknown job: mysql. un poco confuso.
phil294
1
Failed to start mysqld.service: Unit mysqld.service not found.
JCarlos
30

Para Ubuntu 12.10 y posterior:

INICIAR MYSQL:

sudo start mysql

REINICIAR MYSQL:

sudo restart mysql # The service must be running

DETENER MYSQL:

sudo stop mysql # The service must be running
Lucio
fuente
3
stop: Unknown job: mysql
Verde
@ Green Acabo de probar esto (un año después) y todavía funciona. Este es mi resultado: mysql stop/waiting. Debes saber que ya debes estar corriendo mysqlpara detener esto;)
Lucio
1
Héroe, me salvas la vida, que mysqld ha ocupado la memoria de mi máquina durante tanto tiempo. Intenté todo tipo de métodos para eliminarlo, pero todos fallaron, hasta que conocí tu respuesta.
Zen
sudo: start: command not found
JCarlos
1
@JCarlos Doapt install upstart
Edward
9

En realidad, recibí un error extraño cuando instalé mysql-workbench en mi máquina Ubuntu. Después de eso intenté iniciar el servicio mysql usando este comando:

service mysql start

Entonces obtuve la solución de que el servidor MySQL no estaba instalado, así que lo instalé y mi problema se resolvió. El comando para instalar mysql-server es:

sudo apt-get install mysql-server

Después de una instalación exitosa, inicie el servidor MySQL como:

service mysql start
Akash5288
fuente
4

Tuve el mismo problema con Ubuntu64 y lo solucioné simplemente no usando systemctl sino que esto:

sudo service mysql restart

Esperemos que este comando funcione para usted.

Faisal Julaidan
fuente
2

Este debería funcionar para el servidor mysql construido manualmente:

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

después de instalar MySQL en su sistema, simplemente haga eso:

$ service mysql status

si el servicio inactivo solo hace esto:

$ service mysql start

y por detener mi servicio que:

$ service mysql stop

Manochehr Rasouli
fuente
1
/etc/init.d/mysql starty service mysql startson exactamente lo mismo
tormenta
1

Tuve un problema con el mismo problema y lo desinstalé e instalé nuevamente siguiendo los siguientes comandos:

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

2) sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

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

Narmatha
fuente
0

Un pequeño script para cubrir ambos casos [servidor en ejecución / servidor no en ejecución]:

#!/bin/bash

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

En ubuntu 18.04 el socket está definido en el archivo

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

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

El directorio no estaba presente, así que lo creé manualmente de la siguiente manera:

sudo mkdir -p /var/run/mysqld

Reinicie mysql. Eso lo resolvió para mi caso aquí.

Navidad
fuente