Cambiar contraseña base de datos mysql con SSH

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.

Cambiando la Contraseña de una Base de Datos MySQL a través de SSH

Entendiendo el Proceso:

Pasos Detallados:

  1. Conexión SSH:
    • Abre tu terminal: Utiliza un cliente SSH como PuTTY (Windows) o el terminal integrado en sistemas Linux/macOS.
    • Ingresa el comando:Bashssh 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.
    • Autenticación: Introduce la contraseña asociada a tu usuario.
  2. Acceso a la Base de Datos MySQL:
    • Inicia sesión en MySQL:Bashmysql -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.
  3. Cambio de Contraseña:
    • Selecciona la base de datos: Si tienes múltiples bases de datos, especifica la que quieres modificar:SQLuse tu_base_de_datos;
    • Modifica la contraseña:SQLSET 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.
  4. Recarga los privilegios:SQLFLUSH PRIVILEGES; Este comando asegura que los cambios realizados se apliquen inmediatamente.
  5. Salir de MySQL:SQLexit;

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.
  • 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:

Visitas:24