您好,登錄后才能下訂單哦!
這篇文章主要介紹解決mysql全局權限賬戶%無法登錄的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
mysql中有新建了一個%(允許所有主機連接)和ALL權限的賬戶。但是竟然連不上。用root或者其他localhost的用戶卻可以登錄。首先檢查下防火墻打開了沒,可以用service iptables stop打開防火墻。如果仍然報錯:
報錯:ERROR 1045 (28000): Access denied for user 'zzq'@'localhost' (using password: YES)
帳號密碼都對了 就是連不上。細心的話我們會發現 帳號權限是%,而這里提示的是localhost。
錯誤原因如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
?6?1 前兩個帳戶名稱都是monty,而且都是擁有所有權限和密碼。但是兩者的區別在于,第一個帳戶(monty@localhost)只能通過本地登錄,而第二個賬戶(monty@%)可以通過任意主機登錄。值得注意的是,為了能夠使用monty帳戶在任何地方進行登錄,這兩個賬戶同時存在則是必要的。因為,如果沒有本地帳戶(monty@localhost),使用monty帳戶登錄時,mysql_install_db將優先考慮創建一個本地的匿名帳戶。那么結果將是monty賬戶會被當作一個匿名帳戶來處理。原因則在于,匿名帳戶擁有一個比nonty@%賬戶更加具體的host字段值,從而在user表排序的時候會相對出現的更早。
也就是說 同一個賬戶 要同時存在%帳號或者localhost帳號時, %帳號才起作用。
我們給 zzq帳號添加一個localhost帳號。
GRANT ALL PRIVILEGES ON *.* TO 'zzq'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
然后再登錄 發現可以登錄了。
以上是解決mysql全局權限賬戶%無法登錄的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。