Cómo cambiar la contraseña por defecto de root en MySQL
En MySQL siempre es útil poder modificar la contraseña de administrador (usuario root) por defecto, ya sea en el momento de la primera instalación o tras la pérdida del propio password. Veremos el procedimiento para sistemas UNIX (Ubuntu o similares) y para Windows.
¿Has olvidado la contraseña de MySQL?
MySQL es instalado por defecto sin contraseña root. Esta se asignará cuando se cree un usuario. Sin embargo, para poder cambiar la contraseña de root de MySQL es necesario conectarse. Si no posees la contraseña actual, entonces tendrás un problema. Sin embargo, si la recuerdas y únicamente deseas modificarla, aquí te enseñamos cómo.
¿Cómo saltar la etapa de autentificación?
Es posible conectarse a MySQL saltando la etapa de autentificación, algo muy recomendable en un servidor en producción:
- Primero hay que detener el servidor MySQL:
# /etc/init.d/mysql stop
- A continuación, hay que reiniciar MySQL saltando la identificación y deshabilitando la escucha de la red. Esto evitará ser hackeado en ese momento en el que MySQL es vulnerable:
# mysqld --skip-grant-tables --skip-networking &
En Windows, los pasos generales son los mismos, pero la forma de detener y reiniciar el servicio MySQL es diferente. Aquí te mostramos cómo:
- Detén el servicio MySQL. En Windows, esto se hace a través del Administrador de servicios. Busca el servicio MySQL y haz clic en Detener.
- A continuación, debes iniciar manualmente MySQL con los flags
--skip-grant-tables
y--skip-networking
. Para hacer esto en Windows, abre una ventana de comandos (CMD) como administrador, navega hasta el directorio donde está instalado MySQL, y luego ejecutamysqld.exe
con los flags mencionados. Sería algo así:
cd "C:\ruta\al\directorio\de\MySQL\" mysqld.exe --skip-grant-tables --skip-networking
- Recuerda reemplazar "C:\ruta\al\directorio\de\MySQL\" con la ruta correcta a tu instalación de MySQL.
¿Cómo reiniciar la contraseña?
- Inicia MySQL en modo seguro (o modo degradado) omitiendo la verificación de privilegios. En Ubuntu, puedes hacer esto con el siguiente comando:
sudo mysqld_safe --skip-grant-tables &
En Windows, tendrías que detener el servicio de MySQL a través del Administrador de servicios y luego iniciar MySQL manualmente con el flag --skip-grant-tables.
- Conéctate a MySQL como el usuario root:
mysql -u root
- Cambia la contraseña del usuario root. Asegúrate de reemplazar 'nuevacontraseña' con tu nueva contraseña:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'nuevacontraseña';
- Sal de MySQL con el comando exit.
- Reinicia el servidor MySQL. En Ubuntu, puedes hacer esto con el siguiente comando:
sudo service mysql restart
En Windows, tendrías que detener y luego iniciar el servicio de MySQL a través del Administrador de servicios.
¿Qué diferencia hay entre MySQL y MySQL Workbench?
MySQL es un sistema de gestión de bases de datos relacional ampliamente utilizado en el desarrollo de aplicaciones web y de software. Proporciona una plataforma robusta y confiable para almacenar y recuperar datos de manera eficiente. Por otro lado, MySQL Workbench es una herramienta de diseño y administración de bases de datos específicamente diseñada para facilitar el modelado, la visualización y el mantenimiento de bases de datos MySQL. Con una interfaz intuitiva y poderosas funcionalidades, MySQL Workbench se ha convertido en una herramienta indispensable para los profesionales de bases de datos y desarrolladores que trabajan con MySQL.
¿Por qué se recomienda cambiar la contraseña por defecto del usuario root en MySQL?
La recomendación de cambiar la contraseña por defecto del usuario root en MySQL radica en varios motivos:
- Seguridad: La contraseña por defecto (especialmente si es una contraseña vacía o bien conocida) es un punto de entrada fácil para posibles atacantes. Si alguien sabe que no has cambiado la contraseña por defecto, tiene una oportunidad clara de acceder a tu base de datos.
- Prevención contra Accesos No Autorizados: Aunque solo personas de confianza deberían tener acceso a tu servidor de bases de datos, nunca se puede estar demasiado seguro. Cambiar la contraseña por defecto es una capa adicional de seguridad.
- Buenas Prácticas: Es una práctica estándar en la administración de sistemas y bases de datos cambiar todas las contraseñas por defecto. Esto aplica no solo a MySQL, sino a cualquier software que utilice autenticación.
- Integridad de Datos: Si un individuo malintencionado accede a tu base de datos, no solo puede ver la información, sino que también puede modificarla o eliminarla. Cambiar la contraseña ayuda a proteger la integridad de tus datos.
¿Cómo cambiar la contraseña con MySQL Workbench?
Sigue estos pasos:
- Conectar a la Base de Datos:
- Abre MySQL Workbench.
- En la pantalla inicial, verás una lista de conexiones disponibles (si ya has creado alguna). Haz clic en la conexión a la que desees conectarte.
- Introduce la contraseña actual si se te solicita.
- Abrir el Administrador de Usuarios: Una vez que estés conectado a la base de datos, en la barra de navegación superior, selecciona "Server" (Servidor) y luego elige "Users and Privileges" (Usuarios y Privilegios) o una opción similar dependiendo de la versión.
- Seleccionar el Usuario:
- En la sección "Users and Privileges" (Usuarios y Privilegios), verás una lista de usuarios en el panel izquierdo.
- Selecciona el usuario para el que desees cambiar la contraseña. Si es para el usuario root, entonces busca y selecciona root.
- Cambiar la Contraseña:
- En el panel derecho, bajo la pestaña "Login" (Iniciar sesión) o similar, encontrarás un campo o sección para cambiar la contraseña.
- Introduce la nueva contraseña en el campo correspondiente. Dependiendo de la versión de MySQL Workbench, podrías tener que introducir la contraseña en dos campos (para confirmarla).
- Aplicar Cambios: Una vez que hayas introducido la nueva contraseña, haz clic en el botón "Apply" (Aplicar) para guardar los cambios.
- Cerrar y Reconectar: Cierra la conexión actual y vuelve a conectarte usando la nueva contraseña para asegurarte de que el cambio se haya realizado correctamente.
¡Y listo! Con estos pasos, deberías haber cambiado exitosamente la contraseña de un usuario en MySQL a través de MySQL Workbench.