一、設置用戶的登錄密碼的plugin為mysql_native_password。(反正設置成這樣就可以正常用第三方軟件用 用戶名密碼登錄了)
因為mysql8.0之后移除了password()函數,所以要修改密碼的話,直接在mysql命令行輸入
SET PASSWORD FOR 'root'@'localhost' = '123';
(什么!你說你都沒進入mysql終端啊,那看下面的標題二)
雖然,mysql8.0之后將password字段改為了authentication_string,但是如上代碼仍然可以直接修改authentication_string字段,是沒問題的。
這時,用戶名密碼登錄仍然報錯!如下
原因可能是我們設置的密碼還只是在緩存吧
plugin字段的值是caching_sha2_password,還是報以下錯誤,
當把root用戶的localhost主機的plugin改為mysql_native_password時,我們再次登錄
就登錄成功了!
二、進入MySQL終端失敗的原因
還有如果dos(一定要用管理員權限進入)下輸入mysql進入不去,是因為需要密碼才能進入,
所以我們可以輸入
mysql -u root -p
然后輸入密碼
這樣就進入了!
最后,FLUSH PRIVILEGES; (刷新權限)
mysql> FLUSH PRIVILEGES;
除此之外,還有可能就是你的my.ini沒有配置好,里面的路徑配置對不對;mysql是否加入到環境變量;
----------------------
參考鏈接
https://blog.csdn.net/tg928600774/article/details/81252294?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
https://blog.csdn.net/u012604745/article/details/80632860