1. 程式人生 > 實用技巧 >MySQL 密碼相關

MySQL 密碼相關

登入使用者

   當MySQL客戶端進行使用者登陸之後,可以使用以下命令顯示所登入的使用者

select user();
mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

   如果直接輸入mysql命令而不指定使用者名稱,則是以遊客賬戶ODBC@進行登入

設定密碼

   初始的管理員root是沒有密碼的,我們可以使用以下命令為它設定密碼,注意這個是在CMD環境下而不是登入到MySQL

客戶端之後才做的,語法格式為mysqladmin -uroot -p舊密碼 password新密碼

mysqladmin -uroot password "123"

忘記密碼

   MySQLdata資料夾下預設會生成一個mysql資料庫,其中有user表就是做登入授權驗證的。

   這使得MySQL必須先經過授權登入後才能進行一系列的操作,但是我們也可以通過一些技術手段繞過這個授權。

  

   切記要使用管理員身份開啟CMD

   1.關閉需要授權登入的MySQL服務程序

net Stop MySQL

   2.開啟MySQL免授權登入的服務程序

mysqld --skip-grant-tables

   3.開啟免授權登入的服務程序後可以再開啟一個新的CMD命令終端,直接使用root使用者進行登入而不用輸入密碼

mysql -uroot

   4.在MySQL登入狀態下修改密碼(使用password()函式進行加密,使得密碼儲存是以密文儲存)

update mysql.user set authentication_string=password('yunya') where user = 'root' and host="localhost";

   如果上述命令失效或丟擲異常,可使用以下命令(我這裡的環境是5.7版本,5.7以下的版本可嘗試使用以下命令)

update mysql.user set password=password('yunya') where user = 'root' and host="localhost" and host="localhost";

   5.立即重新整理到磁碟

flush privileges;

   6.退出

exit

   7.關閉免授權的服務程序,重新啟動需要授權登入的服務程序

tskill mysqld
net start MySQL  # 這裡就是重新啟動需要授權登入的服務程序

   8.效果驗證,登入成功

mysql -uroot -pyunya