Cambiando la Contraseña de una Base de Datos MySQL a través de SSH
Entendiendo el Proceso:
Cuando hablamos de cambiar la contraseña de una base de datos MySQL a través de SSH, estamos conectándonos de forma remota a un servidor donde reside la base de datos y ejecutando comandos directamente en su terminal. Esto nos permite modificar la configuración de la base de datos sin necesidad de una interfaz gráfica.
Pasos Detallados:
- Conexión SSH:
- Abre tu terminal: Utiliza un cliente SSH como PuTTY (Windows) o el terminal integrado en sistemas Linux/macOS.
- Ingresa el comando:Bash
ssh usuario@tu_servidor_ip
- Reemplaza:
usuario
: Con el nombre de usuario con el que tienes acceso al servidor.tu_servidor_ip
: Con la dirección IP o nombre de dominio de tu servidor.
- Reemplaza:
- Autenticación: Introduce la contraseña asociada a tu usuario.
- Acceso a la Base de Datos MySQL:
- Inicia sesión en MySQL:Bash
mysql -u root -p
- Reemplaza:
root
: Con el nombre de usuario de la base de datos (generalmente ‘root’).
- Introduce la contraseña actual: Cuando se te solicite.
- Reemplaza:
- Inicia sesión en MySQL:Bash
- Cambio de Contraseña:
- Selecciona la base de datos: Si tienes múltiples bases de datos, especifica la que quieres modificar:SQL
use tu_base_de_datos;
- Modifica la contraseña:SQL
SET PASSWORD FOR 'nombre_usuario'@'localhost' = PASSWORD('nueva_contraseña');
- Reemplaza:
nombre_usuario
: Con el nombre del usuario cuya contraseña deseas cambiar.localhost
: Indica que la conexión es local. Puedes cambiarlo por un host remoto si es necesario.nueva_contraseña
: Por la nueva contraseña que deseas asignar.
- Reemplaza:
- Selecciona la base de datos: Si tienes múltiples bases de datos, especifica la que quieres modificar:SQL
- Recarga los privilegios:SQL
FLUSH PRIVILEGES;
Este comando asegura que los cambios realizados se apliquen inmediatamente. - Salir de MySQL:SQL
exit;
Ejemplo Completo:
Suponiendo que deseas cambiar la contraseña del usuario ‘mi_usuario’ en la base de datos ‘mi_base_datos’ a ‘contraseña_nueva’:
Bash
ssh usuario@tu_servidor_ip
mysql -u root -p
use mi_base_datos;
SET PASSWORD FOR 'mi_usuario'@'localhost' = PASSWORD('contraseña_nueva');
FLUSH PRIVILEGES;
exit;
Consideraciones Adicionales:
- Seguridad:
- Evita usar contraseñas débiles.
- Considera utilizar un gestor de contraseñas para almacenar de forma segura tus credenciales.
- Limita los privilegios de los usuarios de la base de datos.
- Usuarios Remotos:
- Si quieres cambiar la contraseña de un usuario que se conecta desde un host remoto, reemplaza ‘localhost’ por el nombre del host remoto en el comando
SET PASSWORD
.
- Si quieres cambiar la contraseña de un usuario que se conecta desde un host remoto, reemplaza ‘localhost’ por el nombre del host remoto en el comando
- Contraseña Perdida:
- Si olvidas la contraseña de ‘root’, puedes iniciar MySQL en modo sin autenticación para restablecerla. Sin embargo, esta acción compromete la seguridad de tu base de datos.
Recomendaciones:
- Automatización: Para realizar este proceso de forma más eficiente, puedes crear scripts que contengan los comandos necesarios.
- Seguridad: Prioriza la seguridad de tu base de datos. Evita exponerla a ataques cambiando las contraseñas regularmente y siguiendo buenas prácticas de seguridad.
Recursos Adicionales:
- Neolo: [se quitó una URL no válida]
- Clouding.io: https://help.clouding.io/hc/es/articles/360011434759-Cambiar-el-password-de-root-de-MySQL