acceso denegado para el usuario debian-sys-maint


He tenido problemas con mysql. Traté de ejecutar esto:

echo "show databases" | mysql -B -N

Pero tengo:

ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)

Pero cuando exec:

/etc/init.d/mysql restart 

Tengo un 'OK'.

Lo hice

GRANT ALL PRIVILEGES on *.* TO debian-sys-maint@localhost IDENTIFIED BY PASSWORD 'your password' WITH GRANT OPTION; FLUSH PRIVILEGES;

Donde la contraseña es de /etc/mysql/debian.cnf. Pero no ayudó. (por supuesto que limpié priv y reinicié mysql).

Author: Tshepang, 2012-07-25

3 answers

El problema es que su instrucción GRANT usa la cláusula IDENTIFIED BY PASSWORD, y en este caso mysql espera obtener una contraseña con hash, no una de texto plano.

Use IDENTIFIED BY 'your password' en su lugar, si desea proporcionar una contraseña de texto plano.

 15
Author: poncha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-21 22:56:01

Esto se debe a que Debian tiene una cuenta MySQL debian-sys-maint utilizada para activar/desactivar y comprobar el estado. La contraseña para ese usuario debe ser la misma que se almacena en /etc/mysql/debian.cnf. El archivo se ve así:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = <password>
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = <password>
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr

Si la contraseña no coincide (por ejemplo, porque la ha cambiado manualmente), el script de inicio ya no funcionará. Debe establecer la contraseña de acuerdo con el archivo. So

mysql -u root -p
# Then type MySQL root password
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<password>';
 100
Author: Omesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-15 05:13:20

La forma más fácil de restaurar al usuario debian-sys-maint es reconfigurar el paquete mysql-server-5.5. Que si conoce la contraseña para el usuario root de MySQL, puede intentar restaurar el usuario y su contraseña en/etc/mysql / debian.cnf.

sudo dpkg-reconfigure mysql-server-5.5

NOTA: si no puede detener mysql pid, simplemente ejecute sudo killall mysqld. Esto es necesario para reconfigurar mysql-server-5.5.

 3
Author: shgnInc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-06 19:30:57