🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo restablecer la contraseña de root de MySQL en cPanel

Actualizado el 14 de febrero de 2026

Introducción

Perder o no recordar la contraseña del usuario root de MySQL puede ser un problema serio, especialmente si gestionas sitios web, aplicaciones o bases de datos desde cPanel. Sin acceso a root, no podrás realizar tareas críticas como crear nuevas bases de datos, modificar permisos o solucionar errores de conexión. Afortunadamente, restablecer la contraseña de root de MySQL en cPanel es un proceso sencillo si sigues los pasos correctos. En esta guía completa, aprenderás cómo hacerlo de forma segura, manteniendo la seguridad base de datos en todo momento.

[INFO] Este artículo está pensado para usuarios de cPanel con acceso a WHM (WebHost Manager) o acceso SSH al servidor. Si usas un panel como Syspanel (antes HestiaCP), el método es diferente y lo mencionaremos al final.

¿Por qué necesitas restablecer la contraseña de root de MySQL?

El usuario root de MySQL tiene privilegios absolutos sobre todas las bases de datos del servidor. Si olvidas la contraseña, o si sospechas que ha sido comprometida, es urgente restablecerla. Algunas situaciones comunes son:

  • Olvido de la contraseña: después de una migración o cambio de personal.
  • Error de conexión: al intentar acceder desde phpMyAdmin o aplicaciones externas.
  • Seguridad: tras un intento de intrusión o por política de rotación de contraseñas.
  • Actualización del servidor: algunos parches requieren restablecer credenciales.

Restablecer la contraseña de root no solo te devuelve el control, sino que también refuerza la seguridad base de datos al eliminar contraseñas débiles o expuestas.

Requisitos previos

Antes de empezar, asegúrate de tener:

  • Acceso a WHM (WebHost Manager) de tu servidor cPanel, o acceso SSH como usuario root del sistema.
  • Conocimiento básico de comandos (si usas SSH).
  • Backup de bases de datos (opcional pero recomendado).
  • Contraseña nueva segura: al menos 12 caracteres, con mayúsculas, minúsculas, números y símbolos.

[WARNING] No realices este proceso si no tienes experiencia o si el servidor está en producción sin respaldo. Un error puede dejar inaccesibles todas las bases de datos.

Método 1: Restablecer desde WHM (Interfaz gráfica)

Este es el método más amigable para usuarios sin experiencia en línea de comandos. Sigue estos pasos:

Paso 1: Accede a WHM

Abre tu navegador y escribe la dirección de tu servidor con el puerto 2087 (por ejemplo: https://tudominio.com:2087). Inicia sesión con tu usuario root del sistema (no el de cPanel).

Paso 2: Busca la opción de MySQL

En el menú de búsqueda de WHM, escribe "MySQL Root Password" o navega a:
Home » SQL Services » MySQL Root Password

Paso 3: Introduce la nueva contraseña

Verás un campo para ingresar la nueva contraseña de root de MySQL. Escribe la contraseña segura que hayas preparado. Luego haz clic en "Change Password".

Paso 4: Confirma el cambio

WHM te mostrará un mensaje de éxito. El sistema actualizará automáticamente la contraseña en todos los archivos de configuración de cPanel y servicios relacionados (como phpMyAdmin).

[TIP] Después del cambio, es recomendable reiniciar los servicios de MySQL desde WHM (Home » Restart Services » MySQL) para asegurar que todo funcione correctamente.

Método 2: Restablecer desde SSH (Línea de comandos)

Este método es más directo y útil si no tienes acceso a WHM o prefieres la terminal.

Paso 1: Conéctate al servidor vía SSH

Usa un cliente como PuTTY (Windows) o la terminal (Mac/Linux). Conéctate como usuario root:

ssh root@tudominio.com

Paso 2: Detén el servicio de MySQL

Para cambiar la contraseña, primero debes detener MySQL:

systemctl stop mysql

O si usas MariaDB:

systemctl stop mariadb

Paso 3: Inicia MySQL en modo seguro

Ejecuta el siguiente comando para iniciar MySQL sin verificar permisos:

mysqld_safe --skip-grant-tables &

Esto permite conectarte sin contraseña.

Paso 4: Conéctate a MySQL

Ahora accede a la consola de MySQL:

mysql -u root

Paso 5: Restablece la contraseña

Dentro de la consola, ejecuta estos comandos (reemplaza NuevaContraseñaSegura por tu contraseña real):

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NuevaContraseñaSegura';
FLUSH PRIVILEGES;
EXIT;

Paso 6: Detén el modo seguro y reinicia MySQL

Primero, detén el proceso de mysqld_safe:

killall mysqld_safe

Luego, reinicia el servicio normalmente:

systemctl start mysql

Paso 7: Verifica el acceso

Prueba la nueva contraseña:

mysql -u root -p

Ingresa la contraseña cuando se solicite. Si todo está bien, verás el prompt de MySQL.

[WARNING] Si usas mysqld_safe, asegúrate de que el proceso termine correctamente. Un error común es dejar el modo seguro activo, lo que expone tu servidor a accesos no autorizados.

Método 3: Restablecer desde phpMyAdmin (si tienes acceso)

Si aún puedes acceder a phpMyAdmin con otro usuario con privilegios (como un usuario de cPanel), puedes cambiar la contraseña de root desde ahí.

Paso 1: Inicia sesión en phpMyAdmin

Accede desde cPanel: https://tudominio.com:2083/cpsess*/3rdparty/phpMyAdmin/index.php (o desde tu dominio). Usa un usuario con permisos de administración.

Paso 2: Ve a la cuenta de root

En la interfaz de phpMyAdmin, selecciona la pestaña "Cuentas de usuario" (User accounts). Busca la fila que dice root@localhost.

Paso 3: Cambia la contraseña

Haz clic en "Editar privilegios" para ese usuario. Luego, en la sección "Cambiar contraseña", ingresa la nueva contraseña y confírmala. Finalmente, haz clic en "Continuar".

[INFO] Este método solo funciona si tienes un usuario con permisos de SUPER o ALL PRIVILEGES. Si no, no podrás modificar la contraseña de root.

Consejos de seguridad base de datos después del restablecimiento

Una vez que hayas restablecido la contraseña de root, es crucial tomar medidas para proteger tu servidor:

1. Usa contraseñas fuertes y únicas

Evita contraseñas como "admin123" o "password". Genera una con un gestor de contraseñas y cámbiala periódicamente.

2. Limita el acceso remoto a MySQL

Por defecto, MySQL solo escucha en localhost. Verifica que no esté expuesto a internet:

grep bind-address /etc/my.cnf

Debe mostrar 127.0.0.1. Si ves 0.0.0.0, cámbialo inmediatamente.

3. Crea usuarios con privilegios mínimos

No uses la cuenta root para aplicaciones web. Crea usuarios específicos con permisos solo para sus bases de datos.

4. Actualiza MySQL/MariaDB regularmente

Mantén el software actualizado para corregir vulnerabilidades conocidas.

5. Monitorea los logs

Revisa los logs de MySQL (/var/log/mysql/error.log) para detectar intentos de acceso no autorizados.

Solución de problemas comunes

Error: "Access denied for user 'root'@'localhost'"

  • Verifica que la contraseña no tenga caracteres especiales que el shell interprete mal (como $ o !). En SSH, usa comillas simples.
  • Si usas WHM, asegúrate de que el cambio se haya aplicado correctamente. Reinicia MySQL.

Error: "mysqld_safe: command not found"

En sistemas modernos, usa systemctl para detener e iniciar MySQL, y luego usa mysql --skip-grant-tables directamente:

systemctl stop mysql
mysqld --skip-grant-tables --skip-networking &

Error: "Can't connect to local MySQL server through socket"

Asegúrate de que el servicio esté detenido antes de usar --skip-grant-tables. Verifica el socket en /var/run/mysqld/mysqld.sock.

¿Qué pasa si uso Syspanel (antes HestiaCP)?

Si tu servidor usa Syspanel (anteriormente HestiaCP), el proceso es diferente. Accede al panel a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Luego:

  1. Ve a "Bases de datos" en el menú.
  2. Busca la opción "Root password" (puede estar en configuración avanzada).
  3. Ingresa la nueva contraseña y guarda.

[TIP] En Syspanel, el usuario root de MySQL suele llamarse admin o root. Si no encuentras la opción, edita manualmente el archivo /etc/mysql/debian.cnf (requiere SSH).

Preguntas frecuentes (FAQ)

¿Puedo restablecer la contraseña de root sin perder datos?

Sí. El proceso solo cambia la contraseña, no afecta las bases de datos ni los datos almacenados.

¿Cada cuánto debo cambiar la contraseña de root?

Se recomienda cada 3-6 meses, o inmediatamente después de un incidente de seguridad.

¿Qué hago si no tengo acceso a WHM ni SSH?

Contacta a tu proveedor de hosting. Ellos pueden restablecerla desde el panel de administración del servidor.

¿El cambio afecta a mis sitios web?

Sí, temporalmente. Las aplicaciones que usen la contraseña de root dejarán de funcionar hasta que actualices sus archivos de configuración (como wp-config.php en WordPress).

¿Cómo verifico que el cambio fue exitoso?

Usa mysql -u root -p y escribe la nueva contraseña. Si accedes, todo está bien.

Conclusión

Restablecer la contraseña de root de MySQL en cPanel es un proceso que, aunque puede parecer intimidante, se vuelve sencillo con las herramientas adecuadas. Ya sea desde WHM, SSH o phpMyAdmin, siempre prioriza la seguridad base de datos usando contraseñas robustas y limitando el acceso. Recuerda que root es la llave maestra de tus bases de datos, así que trátala con cuidado.

Si encuentras problemas, no dudes en consultar la documentación oficial de cPanel o pedir ayuda a tu proveedor de hosting. ¡Y no olvides hacer backups antes de cualquier cambio importante!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel