當mysql
客戶端進行使用者登陸之後,可以使用以下命令顯示所登入的使用者
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"
mysql
的data
資料夾下缺省會生成乙個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
mysql 硬碟加密碼 MySQL 密碼相關
登入使用者 當mysql客戶端進行使用者登陸之後,可以使用以下命令顯示所登入的使用者 mysql select user user root localhost 1 row in set 0.00 sec 如果直接輸入mysql命令而不指定使用者名稱,則是以遊客賬戶odbc 進行登入 設定密碼 初始...
mysql 8 0 密碼相關
mysql8.0版本之前,mysql使用的加密方式是 mysql native passowrd 在mysql8.0之後,加密的方式改為 caching sha2 password 所以修改密碼的方式也變了 alter user root localhost identified by 123456...
mysql密碼策略相關引數
今天本地虛擬機器測試環境安裝了mysql5.7,初次登陸要求重置密碼,我就打算改為123456,沒想到報錯了,如下圖 提示密碼不滿足安全認證要求,記得以前沒這限制啊。查了一下原來新版本的mysql中增加了validate password外掛程式用於測試密碼並提高安全性。檢視mysql密碼策略配置 ...