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 username -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:
mysql>
Ahora seleccionamos la base de datos de mysql:
mysql>use mysql;
Si queremos cambiar el password para el usuario username:
mysql>update user set password=PASSWORD(“NUEVOPASSWORD”) where User=’username’;
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
y listo.