Cambiar la contraseña root de MySQL
Guía para actualizar o restablecer la contraseña del usuario root de MySQL.
La gestión de bases de datos MySQL es una tarea habitual en la administración de sitios web y aplicaciones en VPS o servidores dedicados. Es importante saber cómo cambiar la contraseña de root o recuperar el acceso si se ha perdido.
Cambiar la contraseña root de MySQL (si conoces la contraseña actual)
- Conéctate al servidor por SSH.
- Inicia sesión en MySQL como root:
mysql -u root -p
Introduce la contraseña actual y pulsa Enter.
- Ejecuta el siguiente comando para cambiar la contraseña (sustituye
newpasspor tu nueva contraseña):
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;
quit
La contraseña se ha actualizado correctamente.
Restablecer la contraseña root de MySQL (si la contraseña se ha perdido)
Si la contraseña de root es desconocida, inicia MySQL en modo seguro sin comprobación de autenticación.
Ubuntu / Debian
- Detén el servicio MySQL:
sudo systemctl stop mysql
- Crea el directorio PID si no existe:
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
- Inicia MySQL en modo seguro:
sudo mysqld_safe --skip-grant-tables --skip-networking &
- Conéctate sin contraseña:
mysql -u root
- Restablece la contraseña (sustituye
new_root_passwordpor tu nueva contraseña):
FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET authentication_string=PASSWORD('new_root_password') WHERE User='root';
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
quit
- Detén el proceso en modo seguro y reinicia MySQL:
sudo pkill mysqld
sudo systemctl start mysql
- Comprueba el acceso con la nueva contraseña:
mysql -u root -p
CentOS 7 / RHEL 7
- Detén el servicio MySQL:
sudo systemctl stop mysql
- Inicia MySQL en modo seguro:
sudo mysqld_safe --skip-grant-tables &
- Conéctate sin contraseña:
mysql -u root
- Restablece la contraseña (sustituye
new_root_passwordpor tu nueva contraseña):
USE mysql;
UPDATE user SET password=PASSWORD('new_root_password') WHERE User='root';
FLUSH PRIVILEGES;
quit
- Reinicia MySQL:
sudo systemctl stop mysqld
sudo systemctl start mysqld
- Comprueba el acceso con la nueva contraseña:
mysql -u root -p
Notas útiles
- Tras restablecer la contraseña, se recomienda actualizarla en tu panel de control o aplicación por una más segura.
- Para MySQL 8.0+ — usa
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';en lugar dePASSWORD(). - Haz siempre una copia de seguridad de tus bases de datos antes de realizar cambios.
Nuestros servicios y productos
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!