連接資料庫等基礎操作請自行解決哈,本篇是重點記錄如何改密碼。 一、查詢用戶密碼: 查詢用戶密碼命令: host:允許用戶登錄的ip‘位置'%表示可以遠程; user:當前資料庫的用戶名; authentication_string:用戶密碼(後面有提到此欄位); 二、 設置(或修改)用戶密碼: 預設 ...
連接資料庫等基礎操作請自行解決哈,本篇是重點記錄如何改密碼。
一、查詢用戶密碼:
查詢用戶密碼命令:
select host, user, authentication_string from mysql.user ;
host:允許用戶登錄的ip‘位置'%表示可以遠程;
user:當前資料庫的用戶名;
authentication_string:用戶密碼(後面有提到此欄位);
二、 設置(或修改)用戶密碼:
預設root密碼為空的話 ,下麵使用navicat就無法連接(之前我裝的5.7好像還可以),所以這裡需要修改root的密碼。
此乃關鍵一步。為此被坑了好長時間,後來查閱很多才知道在mysql 5.7.9以後廢棄了password欄位和password()函數;
authentication_string:欄位表示用戶密碼。
三、修改root密碼的步驟:
一、如果當前root用戶authentication_string欄位下有內容,可先將其設置為空,不然直接進行二步驟。
update user set authentication_string='' where user='root';#密碼設置為空
二、使用ALTER修改root用戶密碼,方法為 ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'。如下:
alter user 'root'@'%' identified with mysql_native_password by 'xxxx';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mypwd#2019';
或者 alter user 'root'@'localhost' identified with mysql_native_password by 'xxxx';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypwd#2019'
提示:
root@後面是user表的Host欄位的內容,新安裝預設是localhost, 因為在這增加了遠程訪問,所以將localhost手動改成了%。
改完之後可執行:flush privileges;( 重新載入許可權表 )
flush privileges;
註意:mysql8.0之後的版本,下麵方法已經不適用。切記!!!
UPDATE user SET password=PASSWORD("新密碼") WHERE user='用戶名';
以上文字如有不妥之處,還請大家詳細指正並留言,方便今後大家共同成長;
在此也希望本篇博客能夠對大家有所幫助!
Tue Jul 09 2019 23:44:19 GMT