遠程登入是網路服務中歷史悠久且實用的功能,它允許使用者將本地電腦轉換為遠端主機的終端,直接調用遠端資源。對於資料庫管理員(DBA)而言,開啟 MySQL 的遠程存取權限不僅能提升運維彈性,更能支援分散式架構下的資料同步與備份需求。本文將詳細說明開啟 MySQL 遠程登入帳號的兩大核心步驟,助您快速完成部署。
MySQL 預設監聽 3306 連接埠。若防火牆攔截該連接埠,任何遠程連線嘗試都將失敗。因此,首要任務是確保伺服器防火牆規則允許 3306 連接埠的入站流量。
防火牆通行後,需在 MySQL 內部建立允許遠程登入的帳號並賦予適當權限。
> mysql -uroot -p123456
註:123456 為 root 密碼,實際操作請替換為您的強密碼。
GRANT ALL PRIVILEGES ON discuz.* TO 'ted'@'123.123.123.123' IDENTIFIED BY '123456';
上述指令將 discuz 資料庫的所有權限授予使用者 ted,允許其從 IP 123.123.123.123 遠程連線,密碼設為 123456。
| 參數 | 說明 |
|---|---|
ALL PRIVILEGES | 賦予所有權限;亦可指定特定權限如 SELECT, INSERT, UPDATE, DELETE, CREATE, DROP,以逗號分隔。 |
discuz.* | 指定作用範圍:discuz 為資料庫名,* 代表所有資料表。• *.* 表示所有資料庫所有資料表• db_name.* 表示特定資料庫所有資料表• db_name.table_name 表示特定資料表 |
ted | 受授權的使用者名稱,可為現有或新建帳號。 |
123.123.123.123 | 允許連線的來源 IP。若不限制 IP,可使用通配符 %。 |
123456 | 該使用者的登入密碼。 |
FLUSH PRIVILEGES;
執行此指令後,權限變更即刻生效,無需重啟服務。
透過「開放防火牆連接埠」與「建立授權帳號」兩大步驟,即可順利啟用 MySQL 遠程登入功能。建議生產環境遵循最小權限原則,僅開放必要 IP 與權限,並定期審核帳號清單,確保資料庫安全。