1、首先檢查mysql所在伺服器的防火牆,如果限制了外網對3306埠的連接,那麼放開限制
Linux伺服器中執行
iptables -L 可以查看當前的防火牆規則
iptables -F 可以清空所有防火牆規則
2、確保mysql的監聽地址是0.0.0.0
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
怎麼知道mysql的監聽地址是多少
Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql
3、添加遠程連接mysql的賬號
此步驟是必須要操作的,mysql本身的用戶只能在本機上連接資料庫,外網連接的話,需要先添加遠程用戶並授權。
在mysql命令行模式下,或者phpmyadmin中執行sql語句添加遠程連接用戶
> grant all on *.* to root@'%' identified by '123456';
> flush privileges;
命令解釋:
*.* 第一個*表示庫,第二個*表示表; *.*對全部資料庫的全部表授權,so.ok 表示只對so這個庫中的ok表授權
root 表示要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的
'%' 表示允許遠程連接的IP地址,%代表允許所有IP連接
只允許某個IP遠程連接,可以寫成'123.123.123.123'
只允許123.123.123.*這個網段遠程連接,可以寫成 '123.123.123.%' '123456' 是設置授權用戶的連接密碼
flush privileges; 代表立即刷新許可權表,使添加的用戶生效
上面三步都設置好了,就可以再次嘗試遠程連接mysql了。
2. 怎樣連接區域網中的mysql資料庫
1首先要確保內網應用正常。
2明確內網mysql資料庫訪問地址,並確保mysql資料庫服務正常。如本地mysql資料庫訪問地址是localhost:3306。
3然後使用自己的帳號登錄nat123。然後選擇主面板/埠映射列表/添加映射。
4設置映射信息。選擇全埠映射類型。填寫內網mysql資料庫伺服器IP地址,和外網訪問的域名。可以使用自己的域名,也可以使用免費二級域名。將滑鼠放在輸入框有向導提示。
5訪問者打開mysql全埠映射後的域名和訪問埠。如在添加訪問地址時,同時勾選允許區域網訪問,則在訪問者區域網內都可以訪問。
6查看訪問者狀態。滑鼠放在訪問者圖標上,提示當前狀態信息。
7在使用訪問者本機,可以進行訪問mysql資料庫。訪問地址是本地訪問者打開的域名埠
3. 外網如何訪問區域網內網的mysql資料庫
Mysql資料庫伺服器部署在內網環境,區域網內可以訪問mysql資料庫,內網也可以上外網。利用nat123如何實現外網訪問到內網mysql資料庫?下面是我跟大家分享的是外網如何訪問區域網內網的mysql資料庫,歡迎大家來閱讀學習。
外網如何訪問區域網內網的mysql資料庫
外網訪問內網的mysql資料庫的方法
首先要確保內網應用正常。明確內網mysql資料庫訪問地址,並確保mysql資料庫服務正常。如本地mysql資料庫訪問地址是localhost:3306。

4. 如何設置mysql允許遠程訪問區域網訪問
第一步打開mysql客戶端,輸入連接密碼,按回車鍵。
第二步輸入「use mysql」,進去mysql資料庫
第三步輸入「GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;」,創建一個允許遠程訪問的用戶,用戶名是root,密碼是123456
第四步輸入「flush privileges;」,進行更新許可權,如下圖所示:
5/5
第五步更新許可權之後,就可以遠程連接mysql資料庫了
希望可以幫到您,感謝您的採納。
5. 怎麼把寶塔的MySQL資料庫做外網映射
- 明確mysql資料庫內網訪問地址埠,確保mysql資料庫服務正常,在內網可以正常訪問連接。如我本機mysql資料庫訪問地址是localhost:3306。如何實現外網訪問內網mysql資料庫?內網使用nat123動態域名解析。內網伺服器安裝nat123客戶端,並使用它。如何實現外網訪問內網mysql資料庫?用自己的帳號登錄。如沒有帳號,「注冊帳號」進入網站進行注冊帳號。如何實現外網訪問內網mysql資料庫?進入主面板/域名解析列表/添加域名。如何實現外網訪問內網mysql資料庫?選擇動態域名解析記錄,使用免費二級域名,或自己的域名。滑鼠放在輸入框有向導提示。如何實現外網訪問內網mysql資料庫?加動態解析後,在域名解析列表中查看當著解析狀態。動態解析域名與本地公網IP保持對應。如何實現外網訪問內網mysql資料庫?路由器埠映射,路由映射mysql資料庫訪問埠。因為公網IP是在路由器上的,外網訪問時,需要經過路由,需要在路由器上做埠映射,將內網mysql資料庫訪問埠打通。路由器埠映射位置:轉發規則/虛擬伺服器/添加允許外網訪問埠和協議。我的mysql資料庫埠是默認的3306,我內網對應mysql資料庫主機的內網IP地址是192.168.1.22。如何實現外網訪問內網mysql資料庫?外網訪問時,使用動態解析域名。在外網訪問mysql資料庫時,使用動態解析域名進行連接訪問。域名是不變的,可以上網即可訪問,再也不擔心動態公網IP變化的問題。
6. mysql怎麼樣開通外網IP可連接
設置mysql服務允許外網訪問,修改mysql的配置文件,有的是my.ini,有的是my.cnf【linux】.
1:設置mysql的配置文件
/etc/mysql/my.cnf
找到 bind-address =127.0.0.1 將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql restart;
2:登錄mysql資料庫:mysql -u root -p
mysql> use mysql;
查詢host值:
mysql> select user,host from user;
如果沒有"%"這個host值,就執行下面這兩句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
或者也可以執行:
mysql>grand all privileges on *.* to root@'%' identifies by ' xxxx';
其中 第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣 *.*的話表示所有到資料庫下到所有表都允許訪問;
『%':表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx'為root 用戶的password;
舉例:
任意主機以用戶root和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
IP為192.168.1.102的主機以用戶myuser和密碼mypwd連接到mysql伺服器
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.102' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;
mysql> flush privileges;
7. 如何設置mysql在區域網中訪問
第一:更改 「mysql」 資料庫里的 「user」 表裡的 「host」 項,從」localhost」改稱'%'。
或者新加條記錄,「host」 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外埠:3306,並允許例外。錯誤提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解決方法: 1。 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user; 2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3.在window自帶的防火牆里的例外添加3306埠
總結:mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以許可權用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。
8. 哪位大神可以簡單說一下外網訪問內網MySQL資料庫的步驟嗎
1,明確MySQL資料庫內網訪問地址埠,確保MySQL資料庫服務正常,在內網可以正常訪問連接。如我本機MySQL資料庫訪問地址是localhost:3306。
2.內網使用花生殼動態域名解析,內網伺服器安裝花生殼,並使用它。
3.使用自己的帳號登錄。如沒有帳號,「注冊帳號」進入網站進行注冊帳號。正常登錄後,會顯示登錄帳號下的域名。
4.做映射。在默認域名的地方點擊花生殼管理添加映射。點擊當前主機。內網任何埠映射,獲取外網隨機埠,點擊確認。
9. MySql廣域網遠程訪問數據
當然可以,辦法有很多,
如果你的 對外 IP 是靜態的話,可以在路由器或防火牆里做個埠映射,把你內網中 mysql 伺服器的 IP 配上 3306 埠,投射到對外的那個靜態IP上去。也可以用DMZ的辦法把mysql伺服器單獨隔離出來允許外部直接訪問。
如果你的對外IP是動態的,則要裝一個動態域名解析軟體(如果花生殼、希網等)(現在許多路由器都內置了動態域名解析功能),以讓外部可以通過一個固定的域名來訪問你經常變化的IP。後面MYSQL伺服器的設置辦法同上。
10. 如何設置mysql在區域網中訪問
1、首先確保區域網中主機都可以訪問msyql資料庫主機的網路通暢。
2、建立一個資料庫用戶,並給該用戶賦上相應訪問許可權就可以了。賦權語句如下:
GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'password'WITHGRANTOPTION;
上述語句意思是將root用戶賦予可以訪問任何主機的任何資料庫許可權,注意password為你設置的root用戶密碼。