亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

允許從任何IP地址遠程訪問MySQL數據庫

允許從任何IP地址遠程訪問MySQL數據庫

元芳怎么了 2019-07-03 13:58:18
允許從任何IP地址遠程訪問MySQL數據庫我知道這一命令:GRANT ALL PRIVILEGESON database.*TO 'user'@'yourremotehost'IDENTIFIED BY 'newpassword';但是它只允許我授予一個特定的IP地址來訪問這個遠程MySQL數據庫。如果我需要它,以便任何遠程主機都可以訪問這個MySQL數據庫,該怎么辦?我該怎么做?基本上,我把這個數據庫公之于眾,這樣每個人都可以訪問它。
查看完整描述

3 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

如果您試圖從遠程計算機連接到MySQL服務器,并遇到如下所示的錯誤,那么請啟用遠程訪問(Grant)Home/tutorials/mysql/EnableRemoteAccess(GRANT),本文是為您準備的。

錯誤1130(HY000):主機‘1.2.3.4’不允許連接到此MySQL服務器

更改MySQL配置

從編輯MySQL配置文件開始

vim /etc/mysql/my.cnf

注釋掉以下幾行。

#bind-address           = 127.0.0.1#skip-networking

如果您沒有找到跳轉網絡線路,添加它并注釋掉它。

重新啟動MySQL服務器。

~ /etc/init.d/mysql restart

更改授予特權

您可能會驚訝地看到,即使在上述更改之后,您也沒有獲得遠程訪問或訪問,但并不能訪問所有數據庫。

默認情況下,允許您使用MySQL用戶名和密碼在本地訪問MySQL-服務器。所以需要更新特權。

運行下面的命令從所有機器訪問。(替換USERNAMEPASSWORD)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

運行下面的命令,從特定的IP提供訪問權限。(替換USERNAMEPASSWORD)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

您可以用您的IP替換1.2.3.4。您可以多次運行以上命令來授予來自多個IP的訪問權限。

您還可以指定一個單獨的USERNAME & PASSWORD遠程訪問。

您可以通過以下方式檢查最終結果:

SELECT * from information_schema.user_privileges where grantee like "'USERNAME'%";

最后,還可能需要運行:

mysql> FLUSH PRIVILEGES;

試驗連接

從終端/命令行:

mysql -h HOST -u USERNAME -pPASSWORD

如果獲得MySQLshell,請不要忘記運行Show數據庫;檢查您是否擁有來自遠程計算機的正確權限。

獎勵-提示:撤銷訪問權限

如果您不小心將訪問權限授予用戶,那么最好在方便的情況下使用撤消選項。

以下將從所有機器中撤消用戶名的所有選項:

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'%';Following will revoke all options for USERNAME from particular IP:mysql>
 REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'1.2.3.4';
 Its better to check information_schema.user_privileges table after running REVOKE command.

如果在運行REVOKE命令后看到使用特權,則可以。這和沒有特權一樣好。我不知道是否可以撤銷。


查看完整回答
反對 回復 2019-07-03
?
當年話下

TA貢獻1890條經驗 獲得超9個贊

假設上述步驟已經完成,MySQL端口3306可以遠程訪問;不要忘記綁定MySQL配置文件中的公共IP地址。

例如,在我的ubuntu服務器上:

#nano /etc/mysql/my.cnf

在文件中,搜索[米舍爾德]塊并添加新的綁定地址,在本例中為192.168.0.116。它看起來會像這樣

......    .....    
# Instead of skip-networking the default is now to listen only on# localhost which is more compatible and is not less secure.bind-address  
      = 127.0.0.1    bind-address        = 192.168.0.116.....    ......

如果您選擇的話,您可以刪除此localhost(127.0.0.1)綁定,但是您必須指定一個IP地址來訪問本地機器上的服務器。

最后一步是重新啟動MySQL服務器(在ubuntu上)

stop mysqlstart mysql

#/etc/init.d/mysql restart其他系統

現在,可以通過以下方式遠程訪問MySQL數據庫:

mysql -u username -h 192.168.0.116 -p


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 1066 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號