Select Page

如何讓 MariaDB 跟外部主機連線

在數據庫管理和開發過程中,經常需要讓 MariaDB 數據庫與外部主機進行連線,尤其是主機需要擴展或是效能調教時候,不能在把WEB和SQL DB放在同一台主機上,這時候就會有需求把SQL主機開放出來,記得在沒加密的情況下不要放到外部網路上。

第一步 : 配置防火牆

將 Port 3306 開放外面存取,較安全的做法是限定 IP 可以存取。

sudo ufw allow in 3306

第二步 : 修改 MariaDB 設定檔

找到 my.cnf 或 mariadb.cnf 或 50-server.cnf,會在 /etc/mysql/mariadb.conf.d/ 下,進入檔案編輯,找到 bind-address = 127.0.0.1 ,將這行的最前面加入 #

#bind-address = 127.0.0.1

第三步 : 將外部存取的權限授予使用者

使用 root 帳戶登錄到 MariaDB,然後為外部連接創建一個新的使用者或賦予現有使用者許可權。使用 GRANT 語句來設定使用者的權限和訪問控制

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED by 'yourpassword' WITH GRANT OPTION;
flush privileges;
exit

第四步 : 重啟 MariaDB

sudo systemctl restart mariadb

相關文章

開啟 MS SQL Server 的防火牆

開啟 MS SQL Server 的防火牆

正常情況安裝完 MS SQL SERVER 後,防火牆都還需要手動打開,SQL SERVER要去開放網路連線協定,我這邊提供一次搞定的批次檔,只要下載到電腦中,並且用管理員權限執行就可以了,以下示範一下如何打開以及注意事項

示範用的環境

  • Windows server 2022
  • SQL Server 2022

SQL Server Configuration Manager的設定

要先打開 SQL 的服務,所以先到 SQL Configuration Manager 中,把 TCP/IP 的協定打開

SQL Server Configuration Manager Network Protocols
SQL Server Configuration Manager Network Protocols TCP/IP
SQL Server Configuration Manager Network Protocols TCP/IP Enabled

防火牆設定

MS SQL SERVER 預設的 PORT 是 1433,打開這一個就可以正常連線

使用 Script 將所有的防火牆設定一次搞定

@echo =========  SQL Server Ports  ===================
@echo Enabling SQLServer default instance port 1433
netsh firewall set portopening TCP 1433 "SQLServer" 
@echo Enabling Dedicated Admin Connection port 1434
netsh firewall set portopening TCP 1434 "SQL Admin Connection" 
@echo Enabling conventional SQL Server Service Broker port 4022  
netsh firewall set portopening TCP 4022 "SQL Service Broker" 
@echo Enabling Transact-SQL Debugger/RPC port 135 
netsh firewall set portopening TCP 135 "SQL Debugger/RPC" 
@echo =========  Analysis Services Ports  ==============
@echo Enabling SSAS Default Instance port 2383
netsh firewall set portopening TCP 2383 "Analysis Services" 
@echo Enabling SQL Server Browser Service port 2382
netsh firewall set portopening TCP 2382 "SQL Browser" 
@echo =========  Misc Applications  ==============
@echo Enabling HTTP port 80 
netsh firewall set portopening TCP 80 "HTTP" 
@echo Enabling SSL port 443
netsh firewall set portopening TCP 443 "SSL" 
@echo Enabling port for SQL Server Browser Service's 'Browse' Button
netsh firewall set portopening UDP 1434 "SQL Browser" 
@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)
netsh firewall set multicastbroadcastresponse ENABLE 

下載已經寫好的bat檔案

參考資料

http://support.microsoft.com/kb/968872/zh-tw