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

Cómo restablecer la contraseña de usuario raíz de MySQL

ServerPilot configura MySQL para administrar bases de datos en su servidor. Por lo general, cuando se inicia sesión en SSH como raíz usuario, solo necesita escribir lo siguiente en la línea de comandos (SSH) para acceder a MySQL:

mysql

Este comando hará referencia automáticamente al archivo que contiene la raíz de MySQL. contraseña de MySQL del usuario para que no tenga que escribirla. La contraseña de root para MySQL se encuentra en este archivo:

/root/.my.cnf

Si necesita cambiar esa contraseña por cualquier motivo, se deben seguir algunos pasos. Tenga en cuenta que aquí hay dos procesos diferentes:uno para una situación en la que la contraseña raíz de MySQL funciona actualmente y otra para una contraseña raíz de MySQL que no funciona.

Nota:El registro de errores de MySQL es un buen lugar para encontrar problemas con MySQL y se encuentra aquí:

/var/log/mysql/error.log
¡Advertencia! Recomendamos tomar una instantánea del servidor antes de realizar tareas como estas.

Cambiar una contraseña raíz de MySQL que funcione

Esta sección cubre el cambio de una contraseña raíz de MySQL que funciona, lo que significa que puede iniciar sesión en MySQL como root usuario simplemente escribiendo mysql en el indicador de SSH. No habrá tiempo de inactividad para este proceso si se siguen estos pasos.

Inicie sesión en SSH como raíz usuario, luego inicie sesión en MySQL escribiendo:

mysql

En el indicador de MySQL, escriba lo siguiente, pero reemplace coloque-su-nueva-contraseña-aquí con la contraseña real que desea utilizar. Debe dejar las comillas simples alrededor de la nueva contraseña. Tome nota de la contraseña, ya que deberá ponerla en un archivo en el siguiente paso.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Salga de MySQL escribiendo:

quit

A continuación, deberá actualizar el archivo que contiene la raíz de MySQL. contraseña del usuario para que pueda acceder a su servidor mediante SSH como root y ejecute mysql comando sin escribir una contraseña.

sudo nano /root/.my.cnf
Para obtener información adicional sobre el uso de nano editor de texto, consulte nuestra guía.

Actualice el campo de contraseña a la nueva contraseña que ingresó anteriormente, guarde y salga del editor de texto.

Por último, prueba para asegurarte de que la nueva contraseña funcione:

mysql

¡Todo listo!

Cambiar una contraseña raíz de MySQL perdida o que no funciona

Esta sección trata sobre cómo recuperar el acceso raíz a MySQL cuando se recibe este error:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
¡Advertencia! Este proceso desconectará a MySQL durante un breve período de tiempo; es mejor realizar esto fuera de las horas pico, cuando los usuarios se verán menos afectados.

Inicie sesión en su servidor a través de SSH como root usuario y detenga MySQL escribiendo:

sudo service mysql stop

Luego ejecute el siguiente comando:

sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld

No devolverá ninguna salida. Inicie MySQL en un modo especial escribiendo esto:

sudo mysqld --skip-grant-tables --skip-networking &

Su salida debe ser similar a la siguiente, aunque el número mostrado será diferente:

sudo mysqld --skip-grant-tables --skip-networking &
[1] 14744

A continuación, volverá al indicador de SSH estándar. Ahora, escriba lo siguiente para iniciar sesión en MySQL:

mysql

No se le pedirá una contraseña y debería verse así:

~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Ejecute el siguiente comando que le permitirá cambiar la contraseña:

FLUSH PRIVILEGES;

Lo que produce:

Query OK, 0 rows affected (0.00 sec)

A continuación, restablecemos la contraseña actual cambiando coloque-su-nueva-contraseña-aquí a su contraseña real. Tome nota de la contraseña que estableció, ya que tendremos que ingresarla en /root/.my.cnf archivo cuando hayamos terminado, y también conserve las comillas simples alrededor de la nueva contraseña.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Debería recibir una notificación como:

Query OK, 0 rows affected, 1 warning (0.00 sec)

Salga de MySQL escribiendo:

quit

A continuación, escriba el siguiente comando:

sudo killall mysqld

No se devolverá ninguna salida. Ahora, iniciamos MySQL normalmente:

sudo service mysql start

Por último, si cambió la contraseña de lo que estaba en /root/.my.cnf , deberá actualizar ese archivo. Si usó el mismo valor, no necesita realizar este paso:

sudo nano /root/.my.cnf

Actualice el campo de contraseña allí, luego guarde y salga del editor de texto.

Ahora debería poder iniciar sesión correctamente en MySQL como raíz usuario escribiendo el siguiente comando:

mysql