1.7.查詢用戶密碼:
查詢用戶密碼命令:mysql> select host, user, authentication_string, plugin from user
host: 允許用戶登錄的ip‘位置’%表示可以遠程蕾管;
user:當(dāng)前數(shù)據(jù)庫的用戶名;
authentication_string: 用戶密碼(后面有提到此字段);
1.8.設(shè)置(或修改)root用戶密碼:
默認(rèn)root密碼為空的話 古劲,下面使用navicat就無法連接,所以我們需要修改root的密碼浙踢。
這是很關(guān)鍵的一步绢慢。此處踩過N多坑,后來查閱很多才知道在mysql 5.7.9以后廢棄了password字段和password()函數(shù)洛波;authentication_string:字段表示用戶密碼胰舆。
下面直接演示正確修改root密碼的步驟:
一、如果當(dāng)前root用戶authentication_string字段下有內(nèi)容蹬挤,先將其設(shè)置為空缚窿,否則直接進行二步驟。
use?mysql;??
update?user?set authentication_string=' ' where user='root'
下面直接演示正確修改root密碼的步驟:
二焰扳、使用ALTER修改root用戶密碼,方法為 ALTER?user?'root'@'localhost'?IDENTIFIED?BY?'新密碼'倦零。如下:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
此處有兩點需要注意:1、不需要flush privileges來刷新權(quán)限吨悍。2扫茅、密碼要包含大寫字母,小寫字母育瓜,數(shù)字葫隙,特殊符號。
修改成功躏仇; 重新使用用戶名密碼登錄即可恋脚;
注意: 一定不要采取如下形式該密碼:
use?mysql;??
update?user?set authentication_string="newpassword"?where user="root";??
這樣會給user表中root用戶的authentication_string字段下設(shè)置了newpassword值腺办;
當(dāng)再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'時會報錯的;
因為authentication_string字段下只能是mysql加密后的41位字符串密碼糟描;其他的會報格式錯誤怀喉;
*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
至此,安裝mysql和修改root密碼告一段落船响。開始navicat for mysql篇躬拢。
時間有限,navicat的下載和破解注冊就不多講了 有需要的下面留郵箱灿意,發(fā)給你們估灿,下面說說出問題的地方。
賬號密碼都正確缤剧,連接報錯1251馅袁。OK 我們先來看看這個改動:
在MySQL 8.04前,執(zhí)行:SET PASSWORD=PASSWORD('[新密碼]');但是MySQL8.0.4開始荒辕,這樣默認(rèn)是不行的汗销。因為之前,MySQL的密碼認(rèn)證插件是“mysql_native_password”抵窒,而現(xiàn)在使用的是“caching_sha2_password”弛针。
so,我們這里需要再次修改一次root密碼。
先登錄進入mysql環(huán)境:執(zhí)行下面三個命令李皇。(記得帶上分號)
1削茁、use mysql;
2掉房、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
3茧跋、FLUSH PRIVILEGES;
OK.現(xiàn)在再去重連。perfect!