¿Por qué no puedo detener el servicio MySQL en Debian?

11

Solo intenté actualizar de debian squeeze a inestable reemplazando 'squeeze' con 'inestable' en /etc/apt/sources.list. La actualización se realizó sin problemas, excepto MySQL, que falló porque no pudo detener MySQL.

/etc/init.d/mysql stopsimplemente devuelve que falló, pero si trato de obtener el estado /etc/init.d/mysql statusme da este error:

me@debian:~$ sudo /etc/init.d/mysql status
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

MySQL está funcionando bien, y verifiqué los permisos para debian-sys-maint en phpmyadmin y está permitido hacer todo, pero solo conectarse localhost.

luego
fuente

Respuestas:

6

Prueba esto:

  1. sudo cat /etc/mysql/debian.cnfy busque la contraseña que figura en las secciones [client]y[mysql_upgrade]

  2. mysql -u root -p password siendo la contraseña raíz original de MySQL

  3. GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '*the password obtained from step 1*';

  4. /etc/init.d/mysql restart

Esa es la solución y este es el razonamiento detrás de esto, si está interesado.

Kez
fuente
Como se menciona a continuación, esto debería serGRANT ALL PRIVILEGES ON *.*
Dave
2

Una actualización de la respuesta. En el paso 3, tuve que usar

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'the password obtained from step 1';

Hay asteriscos alrededor del período posterior a "ON". Trabajó para MySql 5.1

Franco
fuente
1

El Manual de referencia de MySQL dice que puede hacer esto:

  1. Inicie sesión en su sistema como el usuario de Unix con el que se mysqldejecuta el servidor (por ejemplo mysql).
  2. Localice el .pidarchivo que contiene la ID de proceso del servidor. La ubicación y el nombre exactos de este archivo dependen de su distribución, nombre de host y configuración. Los lugares comunes son /var/lib/mysql/, /var/run/mysqld/y /usr/local/mysql/data/. En general, el nombre del archivo tiene una extensión de .pidy comienza con mysqldel nombre de host de su sistema.

    Puede detener el servidor MySQL enviando un kill normal (no kill -9) al proceso mysqld, utilizando el nombre de ruta del archivo .pid en el siguiente comando:

.

kill cat `/mysql-data-directory/host_name.pid`
Nabil Kadimi
fuente