¬ŅPerdi√≥ su contrase√Īa de MySQL Root? C√≥mo reiniciarlo en cualquier sistema operativo!

4.4 (88.48%) 158 votes


Puede que est√© un poco confundido cuando se le pida que restablezca la contrase√Īa de root para su instalaci√≥n de MySQL. Si vienes del mundo Windows, puede que no est√©s familiarizado con el t√©rmino «root» en absoluto. Para los usuarios de Unix en macOS y Linux que est√°n al tanto, puede que le preocupe que esto signifique cambiar su contrase√Īa de superusuario. El primer paso es entender qu√© es, precisamente, esta contrase√Īa de MySQL.

¬ŅCu√°l es la contrase√Īa ra√≠z de MySQL?

Para responder a esto, primero definamos cu√°l es la contrase√Īa de root del sistema. La cuenta root es el equivalente a un Administrador en Windows, o alguien que puede cambiar cualquier parte del sistema. En sistemas tipo Unix, root puede hacer cualquier cosa, pero es diferente en el sentido de que se crea autom√°ticamente cuando el sistema est√° instalado, y normalmente no puede ser eliminado. Compare esto con Windows, donde cualquier usuario puede ser considerado un Administrador.

Tanto en macOS como en muchas distribuciones de Linux, este usuario est√° desactivado de forma predeterminada. En su lugar, normalmente usar√°s los comandos su/sudo. √Čstos ejecutan el comando como si fuera un superusuario. Es lo mismo que usar Ejecutar como administrador para ejecutar aplicaciones de Windows.

Ahora, considere que MySQL es un subsistema multiusuario. Usted lo instala en su computadora o servidor y le asigna sus propios usuarios, luego asigna a esos usuarios sus propios permisos. Estos pueden ser completamente diferentes de los usuarios en el sistema en general, especialmente en sistemas *nix como Linux. As√≠ como el sistema en general tiene un usuario root, el subsistema MySQL necesita un superusuario que pueda arreglarlo cuando las cosas van mal. Este es el usuario root de MySQL. Y a veces puede ser necesario cambiar la contrase√Īa de este usuario.

¬ŅCu√°ndo se crea la contrase√Īa del usuario ra√≠z de MySQL?

Al igual que el usuario root del sistema, el usuario root de MySQL es una cuenta por defecto, y se crea cuando se instala MySQL. Usted crear√° la contrase√Īa inicial para el usuario root de MySQL en este momento. Cuando instale el paquete del servidor MySQL, el instalador le pedir√° una contrase√Īa y luego la configurar√° para el usuario root.

Creaci√≥n de un archivo Init para restablecer la contrase√Īa de MySQL

Cambiar la contrase√Īa de un usuario root en sistemas tipo Unix es generalmente una tarea seria. No puedes hacerlo f√°cil, o cualquiera podr√≠a hacerlo y tomar el control de tu sistema. Las herramientas normales de restablecimiento de contrase√Īas funcionar√°n bien si tiene la contrase√Īa actual, pero supongamos que no lo tiene y que necesita restablecer la contrase√Īa a algo nuevo.

El truco que usaremos para restablecer la contrase√Īa es usar un archivo de inicio cuando iniciemos el servidor MySQL. Este es un archivo que puede contener comandos que se ejecutan junto con las configuraciones normales. En este caso, uno de esos comandos va a cambiar la contrase√Īa para el usuario root.

Independientemente de si su sistema operativo, puede prepararse para esto creando un archivo de texto de una línea que contenga lo siguiente:

Pre data-type=»code»>ALTER USUARIO @’root’@’localhost’ IDENTIFICADO POR <'thenewpassword';

Puedes ver este comando y entender lo que hace muy f√°cilmente. Es alterar un usuario llamado «root» en «localhost», o la m√°quina en la que est√°s trabajando. La segunda mitad establece la contrase√Īa para este usuario en «thenewpassword».

Al iniciar el servidor MySQL y alimentarlo con este archivo init, ejecutar√° los comandos del interior, y el efecto ser√° la actualizaci√≥n de la contrase√Īa del usuario root a medida que se inicie el servidor.

Restablecer la contrase√Īa de MySQL iniciando MySQL con el archivo Init

La secuencia básica que haremos es detener el servidor si se está ejecutando, iniciarlo de nuevo manualmente usando el archivo init, detenerlo de nuevo, y finalmente reiniciarlo de la manera normal. Los pasos específicos son los siguientes:

  1. Detenga MySQL si se est√° ejecutando:

    • En Windows, desde el men√ļ Inicio, abra el Panel de control , y ejecute Herramientas administrativas . Esto est√° en la categor√≠a Sistema y Seguridad si es as√≠ como tiene organizado el Panel de Control. Seleccione Servicios (aprenda acerca de Windows Services aqu√≠), luego busque MySQL en la lista. Si se muestra como ejecut√°ndose, seleccione Detener el servicio para apagarlo.
    • En macOS, vaya a Preferencias del Sistema> MySQL . El Panel de Preferencias aparecer√° y le mostrar√° si el servidor se est√° ejecutando, as√≠ como le dar√° la opci√≥n de detenerlo.
    • En Linux, puede emitir » sudo service mysqld stop » para apagar el servidor.
  2. A continuaci√≥n, inicie el servidor de nuevo y se√Īale el archivo de inicio que ha creado. El comando es:

    mysqld --init-file=/path/to/my/init/file

    Si est√° ejecutando Windows, aseg√ļrese de ejecutar el comando anterior desde el directorio del ejecutable, normalmente C:ProgramDataMySQLMySQLMySQL Server 8.0bin . Adem√°s, si us√≥ el paquete MySQL Windows Installer (.msi), tambi√©n necesitar√° agregar el «archivo por defecto» para cargar todas las dem√°s configuraciones que MySQL necesita: mysqld –defaults-file=»C:ProgramDataMySQLMySQL Server 8.0my.ini» –init-file=C:Usersers{aaron}Desktopame-of-the-file ).

  3. Finalmente, reinicie el servidor MySQL:

    • En Windows, vaya a la pantalla Servicios y seleccione Iniciar el servicio para MySQL.
    • En macOS, inicie de nuevo la copia de seguridad del servidor desde la pantalla de Preferencias de MySQL.
    • En Linux, ejecute sudo service start mysqld .

    Aunque esto no es estrictamente necesario, es una buena idea asegurarse de que comienza con todas las configuraciones normales.

  4. En este punto, intente iniciar sesi√≥n en el servidor con el cliente de l√≠nea de comandos utilizando la contrase√Īa actualizada.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *