sql >> Base de Datos >  >> RDS >> Mysql

Cambiar y restablecer la contraseña raíz de MySQL

Hay muchas maneras de restablecer y cambiar la contraseña raíz para la base de datos mySQL, en caso de que la contraseña se olvide o se pierda, o simplemente desee hacer que la contraseña sea más segura con un algoritmo complejo y un cambio regular. Las siguientes instrucciones explican en detalle la forma alternativa en la última parte de la guía mencionada anteriormente, donde no es necesario crear ningún archivo adicional:

  1. Inicie sesión como root en la máquina Windows o similar a Unix (Unix, Linux o BSD) con el servidor MySQL.
  2. 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
  3. 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).
  4. ADD –skip-grant-tables hasta el final de la línea que contiene el mysqld_safe comando como su parámetro.
  5. 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
  6. 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.

  7. 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
  8. 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.

  9. Salga del cliente de la base de datos mysql escribiendo salir .
  10. Detenga el servidor MySQL con los comandos enumerados en el paso 2.
  11. 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.
  12. 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:

  1. Detenga el proceso de MySQL usando el comando:
    # killall mysqld
  2. Inicie el servidor MySQL con las siguientes opciones:
    # /usr/libexec/mysqld -Sg --user=root &
  3. 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.xx

    Escriba 'ayuda;' o 'h' para obtener ayuda. Escriba 'c' para borrar el búfer.

    mysql>

  4. 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 -A

    Base de datos cambiada

  5. 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:0

    Las filas afectadas pueden ser diferentes, pero la consulta OK debería estar allí.

  6. 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)

  7. Salga del cliente MySQL escribiendo salir .
  8. Elimine el proceso del servidor MySQL escribiendo killall mysqld .
  9. Luego inicie MySQL de nuevo:
    /etc/init.d/mysqld start