1. 程式人生 > 其它 >本地MYSQL輸入正確的密碼也無法登入

本地MYSQL輸入正確的密碼也無法登入

技術標籤:mysqlmysqlsql資料庫

本地MYSQL輸入正確的密碼也無法登入


ERROR 1045 (28000): Access denied for user ‘root’@’::1’ (using password: YES)
在這裡插入圖片描述

今天本來需要修改一些伺服器mysql的許可權配置,卻發現輸入了明明正確的密碼卻無法登入,反而顯示密碼錯誤。。。

這就讓人非常的費解了,因為平時執行sql時,會經常使用MySQLAdministrator之類的視覺化工具登入都沒有問題,所以判斷密碼肯定是正確的。

在稍作觀察之後發現,上圖輸入完 mysql -u root -p 之後出現的錯誤指令是 [email protected]

::1而不是[email protected],也不是 [email protected]
所以我判斷是我root的登入ip不對,雖然::1是ipv6的127.0.0.1,可是無法和我們擁有密碼的ipv4的127.0.0.1相互對映。

解決方案:

//  在命令列通過 -h 指令指定ip來登入mysql
mysql -h 127.0.0.1 -u root -p

問題解決,但是之後不能每次都輸入-h,這也怪麻煩的,所以後續可以通過修改mysql表的root的密碼許可權來實現@::1也可以直接登入。(也就是開放mysql遠端連線的方式實現)

// ‘%’代表全部ip,如果不希望被外人連了,請配置好防火牆,或者把‘%’替換成你的ip
// '123456'表示你的密碼
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;