1 連接數據庫


點擊左下角測試一下

提示

輸入
select host,user,plugin,authentication_string from mysql.user;
查看用戶信息

注意這里我們的密碼是空的,Navicat不能無密碼登錄。
2 修改密碼
使用
alert user 'root'@'localhost' identified by '123456';
將密碼修改為123456

如果你報1064錯誤,注意有沒有缺少空格,user后面和identified 前面要有空格。
mysql 5.7以后的password屬性已經取消,所以你用帶password的命令修改密碼也可能會報錯。
改完了以后登錄Navicat,還是提示

這就很有問題了,重新輸入
select host,user,plugin,authentication_string from mysql.user;
查看一下

可以看到這里已經顯示有密碼了,但是還是不能登錄,有人說是因為mysql 8.0的加密方式(plugin)不一樣,所以需要修改加密方式。
3 更改加密方式:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

刷新:
FLUSH PRIVILEGES;

再看看加密方式:

plugin都是一樣的了。
4 再嘗試連接:

連接成功!看一下里面有什么

隨便寫着玩吧

保存,再用workbench打開,也能看到一樣的內容:

