溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL 5.7.18密碼忘記或者過期應如何解決

發(fā)布時間:2020-06-08 15:57:20 來源:網絡 閱讀:308 作者:三月 欄目:MySQL數據庫

本文主要給大家簡單講講MySQL 5.7.18密碼忘記或者過期應如何解決,相關專業(yè)術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL 5.7.18密碼忘記或者過期應如何解決這篇文章可以給大家?guī)硪恍嶋H幫助。

一、忘記密碼解決

[root@linux-node2 ~]# /etc/init.d/mysqld stop
[root@linux-node2 ~]# mysqld_safe --skip-grant-tables &
[root@linux-node2 ~]# mysql -p
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

#特別提醒注意的一點是,新版的mysql數據庫下的user表中已經沒有Password字段了
#而是將加密后的用戶密碼存儲于authentication_string字段
mysql> flush privileges;
mysql> quit;
[root@linux-node2 ~]# /etc/init.d/mysqld restart

#然后mysql就可以連接了,但此時操作似乎功能不完全,還要alter user…
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> quit;
Bye
[root@linux-node3 mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@linux-node3 mysql]# 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 3
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

二、密碼過期問題解決

1、問題現象

[root@linux-node2 mysql]# mysql -uroot -p
Enter password: 
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.

2、修改配置文件/etc/my.cnf

[root@linux-node2 mysql]# vim /etc/my.cnf 
#在[mysqld]下增加skip-grant-tables,跳過授權表登錄
[client]    
port        = 3306     
socket      = /data/mysql/mysql.sock

[mysql]
no-auto-rehash

[mysqld]    
user = mysql
port        = 3306     
socket      = /data/mysql/mysql.sock     
datadir     = /data/mysql/data
log-bin = /data/mysql/mysql-bin
server-id = 6
skip-grant-tables
[root@linux-node2 mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

3、登錄mysql

[root@linux-node2 mysql]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> use mysql;
Database changed

MySQL [mysql]> update user set password_expired='N' where user='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MySQL [mysql]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

MySQL [mysql]> quit;
Bye

4、去掉跳過授權表登錄,并重啟登錄

[root@linux-node2 mysql]# vim /etc/my.cnf
[root@linux-node2 mysql]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 
[root@linux-node2 mysql]# mysql -uroot -p123456
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> quit;

Bye

MySQL 5.7.18密碼忘記或者過期應如何解決就先給大家講到這里,對于其它相關問題大家想要了解的可以持續(xù)關注我們的行業(yè)資訊。我們的板塊內容每天都會捕捉一些行業(yè)新聞及專業(yè)知識分享給大家的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI