2012-01-20 21 views
8

Lector de Stackoverflow, por primera vez, enviando una pregunta.error: 'Acceso denegado para el usuario' debian-sys-maint '@' localhost '(usando la contraseña: YES)'

Tuve que reiniciar el hardware de mi computadora portátil Dev hace algunas noches por varias razones. Cuando volví a subir me di cuenta de que mysqld ya no era accesible. Normalmente me conecto con root en una máquina de desarrollo local. No pude iniciar/detenerlo a través de los init-scripts como de costumbre tampoco, así que recurrí a varios motores de búsqueda como siempre. Después de consultar con Google, Bing y Duckduckgo.com, aún no pude encontrar una solución al problema. Encontré soluciones a problemas similares, pero todo implicó cambiar la contraseña autogenerada para debian-sys-maint e iniciar sesión como root para establecer una nueva, pero como no puedo iniciar sesión como root tampoco soluciona mi problema.

¿Alguien sabe de alguna otra solución: candidatos para este dilema?

error: 'Acceso denegado para el usuario' debian-sys-maint '@' localhost '(usando la contraseña: YES)'.

+2

El mensaje de error sugiere que el servidor mysql se está ejecutando, pero sus credenciales de inicio de sesión son incorrectas. Perhabs esta pregunta debe hacerse en http://serverfault.com/? – Mchl

Respuesta

3

Suena como si hubiera destrozado las tablas en la base de datos ("mysql") que contiene las credenciales para acceder a todas las bases de datos. ¿Ves algo en los registros de MySQL (/ var/log/mysql) que indique un problema?

Si hay daños, el enfoque para intentar solucionarlo dependerá de su motor de almacenamiento. ¿Estás usando MyISAM (el valor predeterminado)? Si es así, intente apagar el daemon y use myisamchk para intentar una reparación.

Si no puede reparar, es probable que tenga que restaurar desde copias de seguridad (tiene copias de seguridad, ¿verdad?) O reinicializar MySQL (probablemente sea más fácil reinstalar el paquete a través de APT).

También puede intentar en ServerFault para obtener más sugerencias de administradores de sistemas con experiencia.

P.S.- si tiene acceso de superusuario al sistema, puede restablecer la contraseña de root de MySQL incluso si no puede iniciar sesión en MySQL, aunque a través de somewhat convoluted procedure.

+1

Gracias por la respuesta.Después de probar muchas soluciones diferentes, simplemente hice lo más fácil que debería haber intentado al principio, a saber: apt-get remove mysql-server; apt-get install mysql-server; mysql_secure_installation – dVw

+0

¡Tengo el mismo problema ahora mismo! Mi servidor MySQL muestra el mismo mensaje, me estaré ejecutando, no puedo detenerlo y también reiniciar no funciona. Mysql no detecta una de mis tablas! alguna solución? No tengo ninguna copia de seguridad – sinoohe

+0

¿Intentó usar myisamchk como lo recomendé? Si eso no funciona, y usted no tenía copias de seguridad, probablemente sea SOL. Deje que esto sea una lección sobre la importancia de mantener copias de seguridad, especialmente para los sistemas de producción. –

9

Acabo de recibir el mismo error después de restaurar la base de datos MySQL, así:

mysql -h localhost -u root -p < mysql.backup.sql 

MySQL. El archivo backup.sql proviene de otro servidor.

El problema parece provenir de las diferentes contraseñas almacenadas en /etc/mysql/debian.cnf en sistemas de origen y destino. Copié/pegué la línea de contraseña del archivo debian.cnf del sistema de origen en el archivo en el sistema de destino. Entonces pude reiniciar mysqld sin ningún problema.

Nota: tuve que hacer killall mysqld antes de poder reiniciar.

+3

Acabo de encontrar la contraseña que figura en /etc/mysql/debian.cnf como sugirió. Vamos a llamarlo 'seekrit'. Luego restablecí la contraseña en MySQL: "concedo todos los privilegios en *. * A 'debian-sys-maint' @ 'localhost' identificado por 'seekrit'; privilegios de vaciado;" ¡Funciona de maravilla! – oalders

+0

Gracias, funcionó para mí después de una copia db. Parece que este usuario/contraseña es utilizado por los scripts de arranque /etc/init.d/mysql Esto parece específico de Debian, nunca lo noté en otros linux. –

Cuestiones relacionadas