Saltar al contenido

Como cambiar y recuperar la clave en un servidor MySQL

mysql

En este mini tutorial les voy a explicar como pueden cambiar y recuperar la clave de root y otros usuarios en MySQL.

Cambiar la clave usando mysqladmin

Si no existe la clave de root para MySQL y nunca la han colocada pueden cambiarla simplemente ejecutando el comando:

mysqladmin -u root password nuevopassword

Donde cambian el nuevopassword por la clave que quieran

Si ya tienen una clave vieja y la quieren cambiar por una nueva:

mysqladmin -u root -p viejopassword nuevopassword

Si quieren cambiar la clave de cualquier usuario (en el ejemplo sería el usuario vensign):

mysqladmin -u vensign -p viejopassword nuevopassword

Cambiar el password desde la consola de mysql

Si no quieres utilizar mysqladmin puedes cambiar la clave desde la consola de mysql para esto entramos ejecutando el comando:

mysql -u root -p

Aparecerá un shell parecido a este:

mysq>

Ahora seleccionamos la base de datos de mysql:

mysql>use mysql;

Si queremos cambiar el password para el usuario vensign:

mysql>update user set password=PASSWORD("NUEVOPASSWORD") where User='vensign';
mysql>flush privileges;

El flush privileges es para reiniciar los privilegios y se haga efectivo el cambio. Si nos queremos salir de la consola de mysql:

mysql>quit

Recuperar la clave de root de mysql

Para recuperar la clave de root de mysql seguimos los siguientes pasos:

1. Detenemos el proceso de mysql:

En Debian / Ubuntu y derivados:

/etc/init.d/mysql stop

Recordar utilizar sudo para Ubuntu.

En Fedora / CentOS y derivados

service mysqld stop

2. Iniciamos el servidor mysql sin chequear las tablas de permisos:

mysqld_safe --skip-grant-tables &

Te debería salir algo como:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

3. Entramos como root al servidor mysql

mysql -u root

4. Cambiamos la clave

mysql>use mysql;
mysql>update user set password=PASSWORD("NUEVOPASSWORD") where User='root';
mysql>flush privileges;

5. Detenemos de nuevo el servidor mysql:

En Debian / Ubuntu y derivados:

/etc/init.d/mysql stop

Recordar utilizar sudo para Ubuntu.

En Fedora / CentOS y derivados

service mysqld stop

6. Iniciamos de nuevo el servidor mysql

En Debian / Ubuntu y derivados:

/etc/init.d/mysql start

Recordar utilizar sudo para Ubuntu.

En Fedora / CentOS y derivados

service mysqld start

7. Probamos la nueva clave:

mysql -u root -p

Pues eso es todo de este mini tutorial espero que les sea de utilidad
Saludos