Inicio > Techs > Agregar nuevamente el usuario debian-sys-maint a MySQL

Agregar nuevamente el usuario debian-sys-maint a MySQL

martes, 19 de octubre de 2010 Dejar un comentario Ir a comentarios

Si sos usuario de «Debian» e instalaste MySQL desde los repositorios, de seguro el proceso de instalacion te agregó un usuario en la base de datos llamado «debian-sys-maint».

Dicho usuario es usado por Debian para hacer verificaciones al momento de ejecutar el script init.d para el start/stop.

Si por alguna razón tuviste que importar las bases enteras de MySQL desde otro servidor (recuperar datos de un equipo viejo?), es probable que durante este proceso hayas perdido ese usuario, y ahora cuando intentas arrancar MySQL te aparece un error como este:

server:/# /etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)
server:/#

Para solucionar esto, lo que tenés que hacer es simple:

1. Obtener del archivo /etc/mysql/debian.cnf el password antiguo que tenia el usuario «debian-sys-maint», con un simple «cat» lo podemos ver:

server:/# cat /etc/mysql/debian.cnf

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

Como se ve ahi, «DEBUSERPASSWORD» es el password…

2. Agregamos de nuevo el usuario a nuestra base actual…

GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'DEBUSERPASSWORD' WITH GRANT OPTION;

Por supuesto, tenés que remplazar DEBUSERPASSWORD con el password que obtuviste en el punto 1.

3. Ahora sí, finalmente, reiniciar MySQL…

server:/#  /etc/init.d/mysql stop
server:/#  /etc/init.d/mysql start

(tambien podes usar mysql restart, pero como en teoria te fallo al arrancar previamente, conviene tirar un stop, ver que el mysqld no este corriendo, y ahi ejecutarlo de nuevo).

That’s all

Categories: Techs Tags: ,
  1. Sin comentarios aún.
  1. Sin trackbacks aún.