iT邦幫忙

1

如何宣告讓任何 IP 都能連線的資料庫 (WorkBench)

  • 分享至 

  • xImage

各位威猛的網路大神好!

我的 MySql 版本是 9.2.0,使用如下程式碼想宣告出讓任意 IP 都能連線的資料庫卻失敗:

CREATE USER 'newUser'@'%' identified by 'password';

但使用如下程式碼就可以宣告出讓特定 IP 可以連線的資料庫:

CREATE USER 'newUser'@'10.0.0.82' identified by 'password';

請問有大神知道該怎麼做嗎?

我的建議是先填 localhost
你的後端連接參數寫好連接語法,到前端的時候透過後端去連接資料庫,而不是直接在前端連接資料庫
還有實務上真的沒有人會開讓所有ip都能連進去的資料庫 ...
大多數連的還是前端的網站系統而不是後端資料庫,因為不是每個人都會sql語法直接跟資料庫溝通
TO 『窮嘶發發發』您的建議很實用,我剛換工作需適應 (壓力與勞累度並行),我會趁假日規劃出從前端連進後端的資料庫架構,謝謝您的回覆。
ruiang iT邦新手 5 級 ‧ 2025-04-24 08:38:56 檢舉
你這樣做很危險..
我大多只會開給開發人員跟Server
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
walis
iT邦新手 5 級 ‧ 2025-04-21 08:29:23

您的案例情境沒描述完整。您講的"任何",應是指"同網段"的"任何IP"。
從您後來的 10.0.0.82 的 ip,您的 DB Server 是在同網段的特定 ip,
而 10.0.0.82 是您的 client 端。

如果,您要跨網段連入 DB Server,這還需要網路層的 ap 設定。 就看您上面的"分享器" 或 Switch 或 Router 可支援的程度了。

TO 『walis』我剛換工作需適應 (壓力與勞累度並行),關於您的建議我會趁假日充實一些網路知識,謝謝您的回覆。

1

首先,你的語法只是建立一個可以任何IP的帳號進來。
並不代表任何IP都可以連進來。只是帳號能接受任何IP進來。

所以能否用任何IP進來,你還得看你的防火設定,應用程式的指定範圍。
不是只設定帳號可以任何IP就可以進來的。

TO 『㊣浩瀚星空㊣』我剛換工作需適應 (壓力與勞累度並行),關於您的建議我會趁假日充實一些網路知識,謝謝您的回覆。

那再多給您一些方向。
一般來說,mysql server預設只會監聽127.0.0.1。除非有特別去做調整。這您可以從 my.cnf (記好這個名詞,這是MYSQL的設定檔)
內找到。可以先改成 0.0.0.0 (這代表監聽任意IP連結)

不過因為你有說用 10.X.X.X 可以進入。理論上上面的設定因該是打開的才對。

再來題外話。正常資料庫安全性來說,最好不要有任意IP能連入的帳號。因為這會增加一層危險。

不明
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答