Introducción
MySQL es un popular sistema de administración de bases de datos para software de aplicaciones web. Como muchos servicios web, MySQL tiene una contraseña de administrador o root. La contraseña de root permite al usuario realizar todas las funciones de nivel superior en la base de datos.
Si nunca ha establecido una contraseña de root en la base de datos MySQL, debería poder iniciar sesión en ella. Sin embargo, esta no es una buena práctica de seguridad porque cualquiera puede acceder a su base de datos.
Si su base de datos tiene una contraseña de root pero la ha perdido, esta guía le ayudará a restablecer una contraseña de root de MySQL en Linux y Windows .
Prerrequisitos
- Una base de datos MySQL existente
- Acceder a un servidor Linux o Windows que ejecuta MySQL
- Privilegios de administrador en la computadora que aloja la base de datos MySQL
- Un editor de texto. El Bloc de notas se incluye de forma predeterminada con Windows. Vim se instala de forma predeterminada en Linux.
- Acceder a una interfaz de línea de comando (o terminal)
Cómo cambiar la contraseña de root de MySQL en Linux
Paso 1: inicie sesión como usuario de MySQL
Al iniciar la instalación de Linux, asegúrese de haber iniciado sesión como usuario que ejecuta MySQL normalmente. Aunque puede iniciar sesión como root cuando el servidor MySQL está en funcionamiento, asegúrese de iniciarlo con la opción.--user=mysql
De lo contrario, el sistema podría crear archivos propiedad del usuario root, lo que podría causar problemas.
Paso 2: busque el archivo .pid para el servicio MySQL
El siguiente paso es ubicar el archivo .pid para el servicio MySQL.
La mayoría de los sistemas los almacenan en / var / lib / mysql / , / var / run / mysqld / o / usr / local / mysql / data / path. El nombre del archivo generalmente comienza con mysqld (o el nombre de host del sistema) y termina con la extensión .pid .
Paso 3: mata el proceso mysqld
Antes de crear una nueva contraseña de root, cierre el servidor MySQL. Para completar el proceso de mysqld, abra una línea de comando y ejecute el siguiente comando:
kill `cat /mysql-data-directory/host_name.pid`
Reemplace mysql-data-directory / host_name.pid con el nombre de archivo que encontró en el paso anterior. Asegúrese de especificar la ruta completa al archivo. Además, asegúrese de usar la tecla de retroceso (generalmente encima de la tecla Tab) y no una sola comilla al principio del comando.
Paso 4: crea el archivo de contraseña
1. Abra su editor de texto favorito. En este ejemplo, usamos vim:
sudo vim
2. Luego agregue la siguiente línea al archivo:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
No olvide incluir comillas y punto y coma. Sustituya la palabra nuevamente para pasar la contraseña que desea usar. Por último, asegúrese de utilizar una contraseña fuerte y segura como estos ejemplos.
El control funcionará para el automóvil que está utilizando actualmente. Si se está conectando a otro sistema, reemplace localhost con el nombre de host apropiado.
3. Guarde el archivo para iniciar / yo / mysql-init .
Paso 5: reinicie el servidor MySQL y aplique una nueva contraseña
Para aplicar cambios de contraseña, reinicie el servidor MySQL ejecutando el siguiente comando en la terminal:
mysqld --init-file=/home/me/mysql-init &
Inicia MySQL y aplica el cambio de contraseña al archivo de texto. Dependiendo de cómo inicie el servidor, es posible que deba agregar otras opciones (como antes del comando).--defaults-file
init
Paso 6: limpieza
Finalmente, conéctese al servidor MySQL usando la cuenta raíz y verifique que la nueva contraseña funcione. Luego elimine el archivo creado en el paso 4.
Cómo restablecer la contraseña de root de MySQL en Windows
Paso 1: Apague el servidor MySQL
1. Primero asegúrese de haber iniciado sesión como administrador.
2. Presione Win + R (mantenga presionada la tecla Windows / Super y presione “r”). Una vez que aparezca el cuadro “Ejecutar”, escriba:
services.msc
3. Haga clic en Aceptar .
4. Desplácese por la lista de servicios para encontrar el servicio MySQL , haga clic con el botón derecho en esta entrada y luego con el botón izquierdo en Detener .
Paso 2: inicie un editor de texto
Haga clic en el menú y busque Bloc de notas .
Alternativamente, puede usar la ruta: Menú > Accesorios de Windows > Bloc de notas .
Paso 3: crea un nuevo archivo de texto con el comando de contraseña
1. Inserte la siguiente línea en el editor de texto:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Asegúrese de mantener las comillas y el punto y coma. Sustituya la nueva palabra para ingresar la contraseña de su elección.
2. Utilice Menú Archivo > Guardar como para guardar el archivo en la raíz del disco duro (C :). Elija un nombre de archivo como mysql-init.txt .
Por lo tanto, el comando localhost hace que se cambie la contraseña en el sistema local. Si cambia el sistema de contraseña de la red, cambie el nombre de host a través del sitio de host .
Paso 4: abre un símbolo del sistema
1. Presione Ctrl + Editar + Esc .
2. Luego, haga clic en el menú Archivo > Ejecutar nueva tarea .
3. Escriba cmd.exe y marque la casilla para ejecutarlo como administrador.
4. Haga clic en Aceptar .
Paso 5: reinicie el servidor MySQL con un nuevo archivo de configuración
1. Navegue al directorio MySQL usando el símbolo del sistema:
cd "C:Program FilesMySQLMySQL Server 8.0bin"
2. Luego escriba lo siguiente:
mysqld --init-file=C:mysql-init.txt
Tenga en cuenta que hay dos barras después del indicador C :.
Además, si eligió un nombre de archivo diferente en el paso 2, use ese nombre después de la línea doble.
Paso 6: limpiar
Ahora puede conectarse al servidor MySQL como root usando la nueva contraseña.
Vuelva a verificar para asegurarse de que funcione. Si tiene opciones de configuración únicas (como iniciar MySQL con una opción), hágalo.--defaults-file
Después de iniciar MySQL y confirmar el cambio de contraseña, elimine el archivo C: mysql-init.txt .
conclusión
Después de leer esta guía, debería estar listo para restablecer su contraseña de root de MySQL en Linux y Windows . Por supuesto, no es muy difícil, pero es una forma segura de cambiar una contraseña confidencial.