1. 程式人生 > 其它 >mysql8.0.19忘記密碼處理辦法

mysql8.0.19忘記密碼處理辦法

1在配置檔案中新增skip-grant-tables後重啟mysql,然後直接登入

[root@tyjs09 ~]# cat /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
gtid-mode=on
enforce-gtid-consistency=true
log_error=/data/mysql/data/mysql.log
log_bin=/data/binlog/mysql-bin
secure-file-priv=/tmp
innodb_flush_method=O_DIRECT
lower_case_table_names=1
skip-grant-tables
[client] socket=/tmp/mysql.sock [mysql] socket=/tmp/mysql.sock [root@tyjs09 ~]# service mysql status ERROR! MySQL is not running [root@tyjs09 ~]# service mysql start Starting MySQL. SUCCESS! [root@tyjs09 ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 8.0.19 MySQL Community Server - GPL Copyright (c) 2000, 2020, 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>

2更新密碼:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> alter user "root"@"localhost" identified by "123456";
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> 
select user,host from user; +------------------+-----------+ | user | host | +------------------+-----------+ | root | % | | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | +------------------+-----------+ 4 rows in set (0.00 sec) mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql>

3在配置檔案中去掉免登入然後重啟mysql:

[root@tyjs09 ~]# vim /etc/my.cnf

[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
gtid-mode=on
enforce-gtid-consistency=true
log_error=/data/mysql/data/mysql.log
log_bin=/data/binlog/mysql-bin
secure-file-priv=/tmp
innodb_flush_method=O_DIRECT
lower_case_table_names=1
skip-grant-tables #去掉
[client]
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
[root@tyjs09 ~]# service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@tyjs09 ~]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 MySQL Community Server - GPL

Copyright (c) 2000, 2020, 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>