配置mysql允許遠程鏈接
阿新 • • 發佈:2018-09-20
-perm 設置 bind oca 發現 火墻 user 防火墻 sys 修改
默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。
修改用戶表的數據
登入mysql
後,更改 mysql
數據庫裏的 user
表裏的 host
項,將localhost
改稱%
mysql>update user set host = ‘%‘ where user = ‘root‘;
mysql>select host, user from user;
修改授權
例如: 你想myuser
使用mypassword
(密碼)從任何主機連接到mysql
服務器的話。
mysql>GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; mysql>FLUSH PRIVILEGES
例如:如果你想允許用戶myuser
從ip為192.168.1.6的主機連接到mysql
服務器,並使用mypassword
作為密碼
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
檢查防火墻
如果還不能連接,就可能是防火墻的鍋了。
#通過systemctl status firewalld查看firewalld狀態 #FirewallD is not running systemctl unmask firewalld systemctl start firewalld #再次通過systemctl status firewalld查看firewalld狀態,顯示running即已開啟了。 #再次執行執行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示設置成功,這樣就可以繼續後面的設置了。 firewall-cmd --reload systemctl stop firewalld.service #關閉防火墻
修改mysql
配置文件
如果檢查了防火墻還是不行,那就用最後一招,修改配置文件(博主用了最後一招才解決遠程訪問的問題)
my.cnf
配置文件的位置,一般在/etc/my.cnf
,有些版本在/etc/mysql/my.cnf
在配置文件中,增加2行代碼
[mysqld]
bind-address = 0.0.0.0
重啟服務,遠程訪問,發現可以正常訪問了
配置mysql允許遠程鏈接