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)

  1. Conéctate al servidor por SSH.
  2. Inicia sesión en MySQL como root:
mysql -u root -p

Introduce la contraseña actual y pulsa Enter.

  1. Ejecuta el siguiente comando para cambiar la contraseña (sustituye newpass por 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

  1. Detén el servicio MySQL:
sudo systemctl stop mysql
  1. Crea el directorio PID si no existe:
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
  1. Inicia MySQL en modo seguro:
sudo mysqld_safe --skip-grant-tables --skip-networking &
  1. Conéctate sin contraseña:
mysql -u root
  1. Restablece la contraseña (sustituye new_root_password por 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
  1. Detén el proceso en modo seguro y reinicia MySQL:
sudo pkill mysqld
sudo systemctl start mysql
  1. Comprueba el acceso con la nueva contraseña:
mysql -u root -p

CentOS 7 / RHEL 7

  1. Detén el servicio MySQL:
sudo systemctl stop mysql
  1. Inicia MySQL en modo seguro:
sudo mysqld_safe --skip-grant-tables &
  1. Conéctate sin contraseña:
mysql -u root
  1. Restablece la contraseña (sustituye new_root_password por tu nueva contraseña):
USE mysql;
UPDATE user SET password=PASSWORD('new_root_password') WHERE User='root';
FLUSH PRIVILEGES;
quit
  1. Reinicia MySQL:
sudo systemctl stop mysqld
sudo systemctl start mysqld
  1. 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 de PASSWORD().
  • Haz siempre una copia de seguridad de tus bases de datos antes de realizar cambios.

Nuestros servicios y productos

HostingFunciona en discos NVMe ultrarrápidos. Apto para sitios web de cualquier complejidad.
Pedir
VPSParámetros ajustables y configuración flexible del SO. Administración gratuita incluida.
Pedir
Servidores dedicadosDisponibles diversas configuraciones Supermicro con procesadores Intel y AMD.
Pedir

Ayuda

¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!

¿Necesitas ayuda?Nuestros ingenieros te ayudarán gratuitamente con cualquier pregunta en minutosContáctanos