- Inicie sesión como root en la máquina Windows o similar a Unix (Unix, Linux o BSD) con el servidor MySQL.
- Detenga el servidor MySQL usando cualquiera de los siguientes comandos:
Linux:
/etc/rc.d/init.d/mysql stop
FreeBSD:
/usr/local/etc/rc.d/mysql-server.sh stop
- Abra el script de inicio del servidor mysql (es decir, mysql-server.sh o mysql, que es el archivo que se ejecuta para iniciar o detener el servidor MySQL).
- ADD –skip-grant-tables hasta el final de la línea que contiene el mysqld_safe comando como su parámetro.
- Inicie el servidor MySQL con el siguiente comando:
Linux:
/etc/rc.d/init.d/mysql start
FreeBSD:
/usr/local/etc/rc.d/mysql-server.sh start
- Alternativamente, inicie el servidor MySQL directamente y omita la edición con el siguiente comando (si está utilizando este paso, no necesita modificar el script de inicio de MySQL):
mysqld_safe --skip-grant-tables &
Dependiendo de su entorno de ruta, es posible que deba apuntar al directorio correcto donde se encuentra mysqld_safe.
- Ejecute los siguientes comandos para iniciar sesión como usuario de mysql y conectarse a la base de datos de usuarios/permisos de mysql:
# mysql -u root mysql
- Ejecute las consultas de actualización para cambiar la contraseña de MySQL:
mysql> UPDATE user SET Password=PASSWORD('newrootpassword') WHERE User='root'; mysql> FLUSH PRIVILEGES;
Nota:Reemplace nueva contraseña raíz con la nueva contraseña de root para el servidor MySQL. Se necesitan Privilegios de descarga para que el cambio de contraseña tenga efecto de inmediato.
- Salga del cliente de la base de datos mysql escribiendo salir .
- Detenga el servidor MySQL con los comandos enumerados en el paso 2.
- Abra de nuevo la secuencia de comandos de inicio del servidor mysql en el paso 3 y QUITE –skip-grant-tables parámetro que se ha agregado.
- Inicie el servidor MySQL usando el comando del paso 5 o 6.
Para usuarios de Redhat Linux, use las siguientes instrucciones como usuario raíz de la máquina Redhat Linux:
- Detenga el proceso de MySQL usando el comando:
# killall mysqld
- Inicie el servidor MySQL con las siguientes opciones:
# /usr/libexec/mysqld -Sg --user=root &
- Inicie el cliente MySQL:
# mysql
Debería ver el siguiente mensaje:
Bienvenido al monitor de MySQL. Los comandos terminan en; o g.
Su ID de conexión MySQL es 1 para la versión del servidor:3.xx.xxEscriba 'ayuda;' o 'h' para obtener ayuda. Escriba 'c' para borrar el búfer.
mysql>
- Usar la base de datos mysql:
mysql> USE mysql
Debería ver el siguiente mensaje:
Lectura de información de tablas para completar los nombres de tablas y columnas
Puede desactivar esta función para obtener un inicio más rápido con -ABase de datos cambiada
- Luego, actualice la contraseña para el usuario root con el siguiente comando:
UPDATE user SET password=password("newpassword") WHERE user="root";
Reemplazar nueva contraseña con su contraseña deseada. Debería ver el siguiente mensaje:
Consulta OK, 2 filas afectadas (0.03 seg)
Filas coincidentes:2 Cambiadas:2 Advertencias:0Las filas afectadas pueden ser diferentes, pero la consulta OK debería estar allí.
- Descargue los privilegios de la base de datos para volver a cargarla y hacer efectivos los cambios:
mysql> flush privileges;
Debería obtener el siguiente resultado:
Consulta OK, 0 filas afectadas (0.02 seg)
- Salga del cliente MySQL escribiendo salir .
- Elimine el proceso del servidor MySQL escribiendo killall mysqld .
- Luego inicie MySQL de nuevo:
/etc/init.d/mysqld start