tablas de permisos de MySQL ignoran la forma <- skip-grant-tables> para restablecer la administración de contraseñas de usuario


1. El administrador de usuario Contraseña ¿Ha olvidado? PD: por lo general no se olvidará ( > ﹏ < )

[root@centos7-db01 ~]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

2. Cierre la base de datos

[root@centos7-db01 ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@centos7-db01 ~]# systemctl stop mysqld
[root@centos7-db01 ~]# systemctl is-active mysqld
inactive

PS: Utilice el modo sys-V también puede gestionar el servicio de base de datos.

3. Activar el modo de mantenimiento de bases de datos

[root@centos7-db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &
[1] 2268
[root@centos7-db01 ~]# ps -ef|grep [m]ysqld_safe
root       2268   1429  0 17:39 pts/0    00:00:00 /bin/sh /application/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking

PD: Parámetro Ver mysqld --verbose --help | egrep 'skip-grant-tables | skip-networking'.

Descripción:
--skip-grant-las Tablas: saltar las tablas de permisos
--skip-networking: Skip telnet

4. Acceder y cambiar su contraseña

Modo 1:

[root@centos7-db01 ~]# mysql
mysql> alter user root@'localhost' identified by '123';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
mysql> alter user root@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

PS: Enjuagar los privilegios; formulario de autorización de carga permitiendo que los administradores tienen permiso para cambiar la contraseña de usuario.

Opción 2:

[root@centos7-db01 ~]# mysql
mysql> update mysql.user set authentication_string=password('123') where user='root' and host='localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
mysql> flush privileges;

PS: Versión MySQL5.7 tienda authentication_string campo de la contraseña de usuario.

5. Cierre la base de datos, la autenticación de inicio normal

[root@centos7-db01 ~]# pkill mysql
[root@centos7-db01 data]# systemctl start mysqld
#忽略授权表登录失败
[root@centos7-db01 data]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
#输入原密码登录失败
[root@centos7-db01 data]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
#正常登录
[root@centos7-db01 ~]# mysql -uroot -p123 -e 'show processlist;'
mysql: [Warning] Using a password on the command line interface can be insecure.
+----+------+-----------+------+---------+------+----------+------------------+
| Id | User | Host      | db   | Command | Time | State    | Info             |
+----+------+-----------+------+---------+------+----------+------------------+
|  5 | root | localhost | NULL | Query   |    0 | starting | show processlist |
+----+------+-----------+------+---------+------+----------+------------------+

Supongo que te gusta

Origin www.cnblogs.com/theboy/p/12499254.html
Recomendado
Clasificación