Saltarse privilegios en Mysql

Muchas veces tenemos problemas al olvidarnos la contraseña de root de Mysql o tomar la administración de un sistema en ejecución, donde el personal
no tiene documentado las usuario y contraseñas de Mysql. Estos
problemas pueden ser solucionados sin reinstalar Mysql, a través de un
modo de ejecución del servidor que salta los privilegios. De esta
manera podemos logearnos como root sin tener su contraseña y poder
modificar la vieja contraseña. Aquí os explico los pasos para lograrlo,
la explicación se basa en Debian y Ubuntu, en otras distribuciones
podría llegar requerir modificar los paths, pero el concepto es el
mismo.

  1. Como primer paso paramos el servidor Mysql.

    # /etc/init.d/mysql stop
  2. Ahora levantaremos el servidor sin privilegios. Para esto simplemente ejecutaremos el binario mysqld_safe pasandole como parámetro skip-grant-table. El ampersand al final indica que se ejecute el proceso en segundo plano.

    # /usr/bin/mysqld_safe --skip-grant-table &

    [1] 14836
  3. Levantado el servicio, entramos a mysql como usuario root. Y una vez dentro, deberemos entrar a la base de datos llamada mysql. La cual mantienen información de administración del servidor.
    mysql -u root
    mysql>use mysql;
  4. Para modificar el password, debemos actualizar el registro del
    usuario root. Los registros de los usuarios se encuentran en la tabla user. Así que simplemente haremos un update modificando el campo Password.

    update user set Password=PASSWORD('Nuevo_Password') where User='root';

    Nota: Respetar las mayúsculas.

  5. Finalmente matamos el proceso anterior y volvemos a levantar el servidor.

    # kill -9 14836
    # /etc/init.d/mysql start

Fuente: InfoSofia

0 comentarios: