mysql8.0.11修改root密碼,其他創建用戶和刪除用戶


1.7. 查詢用戶密碼:

查詢用戶密碼命令:mysql> select host,user,authentication_string from mysql.user;

host: 允許用戶登錄的ip‘位置'%表示可以遠程;

user:當前數據庫的用戶名;

authentication_string: 用戶密碼(后面有提到此字段);

1.8. 設置(或修改)root用戶密碼:

默認root密碼為空的話 ,下面使用navicat就無法連接,所以我們需要修改root的密碼。

這是很關鍵的一步。此處踩過N多坑,后來查閱很多才知道在mysql 5.7.9以后廢棄了password字段和password()函數;authentication_string:字段表示用戶密碼。

 

 

下面直接演示正確修改root密碼的步驟:

一、如果當前root用戶authentication_string字段下有內容,先將其設置為空,否則直接進行二步驟。

use mysql; 
update user set authentication_string='' where user='root'

二、使用ALTER修改root用戶密碼,方法為 ALTER user 'root'@'localhost' IDENTIFIED BY '新密碼'。如下:

ALTER user 'root'@'localhost' IDENTIFIED BY 'Cliu123#'

此處有兩點需要注意:

1、不需要flush privileges來刷新權限。

2、密碼要包含大寫字母,小寫字母,數字,特殊符號。

  修改成功; 重新使用用戶名密碼登錄即可;

注意: 一定不要采取如下形式該密碼:

use mysql; 
update user set authentication_string="newpassword" where user="root";

 

這樣會給user表中root用戶的authentication_string字段下設置了newpassword值;

當再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'時會報錯的;

因為authentication_string字段下只能是mysql加密后的41位字符串密碼;其他的會報格式錯誤;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

至此,安裝mysql和修改root密碼告一段落。

 

 

開始navicat for mysql篇。

賬號密碼都正確,連接報錯1251。OK 我們先來看看這個改動:

在MySQL 8.04前,執行:SET PASSWORD=PASSWORD('[新密碼]');但是MySQL8.0.4開始,這樣默認是不行的。因為之前,MySQL的密碼認證插件是“mysql_native_password”,而現在使用的是“caching_sha2_password”。

so,我們這里需要再次修改一次root密碼。

先登錄進入mysql環境:執行下面三個命令。(記得帶上分號)

 

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
FLUSH PRIVILEGES;

 

 其他刪除用戶,添加用戶

delete from user where user='jack'and host='localhost';
flush privileges;
create user 'jack'@'localhost' identified by 'ddd';

 

 修改遠程連接:

update user set host='%' where user='root';
flush privileges;

 

 

轉 :  https://www.jb51.net/article/142025.htm 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM