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打開,也能看到一樣的內容: