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