昨天把基礎系統部署在了服務器上,一切正常.
可是開發人員要遠程訪問服務器上的MySQL數據庫,發現root遠程連接不上,提示錯誤:“1045-Access denied for user root@...”
解決辦法如下,執行命令:
mysql> use mysql;
mysql> selecthost,user from user;
查看結果是不是root用戶僅允許本地(localhost)登錄,下面這個截圖就是這種情況.
是的話,就要修改它的host為%,表示任意IP地址都可以登錄.
mysql> update user set host = '%' where user = 'root';
執行完後可能提示error.再mysql> select host,user from user;查看下吧.
root對應的host成了%,表示可以任意IP地址登錄了.
mysql> flushprivileges;
把緩存flush掉.在使用update語句修改用戶記錄後,需要FLUSH語句告訴服務器重載授權表.