解決mysql無法遠端登入的問題
基於安全考慮root賬戶一般只能本地訪問,但是在開發過程中可能需要開啟root的遠端訪問許可權。
下面我們將列出解決方案。
若要允許Linux系統中的mysql資料庫可以被遠端連線,需要執行以下兩個步驟:
1、進入mysql,建立一個新使用者,將使用者賦予遠端登入操作資料庫的權利。
格式:grant 許可權 on 資料庫名.表名 使用者@登入主機 identified by "使用者密碼
例如:grant all privileges on *.* to [email protected]'%' identified by '123456' with grant option;
賦予所有許可權使用:all privileges 。執行以後,會在資料庫中的mysql.user表中新增一條使用者記錄,表示命令已經成功執行。
這裡新增一條知識點,在你通過上面命令賦予遠端操作資料庫的許可權後,需要flush privileges;來重新整理mysql的系統許可權相關表,我的理解就是重新載入配置檔案。另外還有別的用處,新設定使用者或更改密碼後需用flush privileges重新整理MySQL的系統許可權相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql伺服器,來使新設定生效。
2、修改配置檔案
因為mysql資料庫考慮到安全因素,預設只能從本地登入,不允許遠端登入。因此,上面第一步雖然成功新增使用者並賦予遠端登入的許可權,任然不能從遠端登入,會報錯:ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (10061)。
因此要想成功的實現Linux作業系統中的mysql資料庫可以被遠端訪問,需要修改配置檔案: /etc/mysql/my.cnf。將配置檔案中的:bind-address=127.0.0.1 修改為bind-address=0.0.0.0 即可,也可以#號註釋掉。
操作完成後重啟mysql服務:service mysql restart;
通過上面的兩步即可成功允許Linux系統中的mysql資料庫被另一臺作業系統遠端連線,如下:
大功告成。我的centos6.5成功了登入了我的騰訊雲的mysql。