MySQL/MariaDB 變更預設 Port


註:本篇是在 Ubuntu 22.04 ,mariadb-10.6 的環境下示範

首先開啟資料庫的設定檔案
    
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
    

將 port 改為要變更的 port , 如果在 [mysqld] 下沒有找到 port 這行,就直接加上去,改為自訂的 port 。預設是 3306,本文示範改為 3307。
另外如果需要從外部連線進入本資料庫,需要將下面的 bind-address 設定為 0.0.0.0
    
# this is only for the mysqld standalone daemon
[mysqld]
port = 3307

bind-address            = 127.0.0.1
    

重新啟動資料庫服務
    
systemctl restart mysql
    

需要輸入系統管理員密碼才可重新啟動起服務:
    
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'mariadb.service'.
Authenticating as: Ubuntu (ubuntu)
Password:
==== AUTHENTICATION COMPLETE ===
    

使用新的 port 連入,需要輸入系統管理員密碼:
    
mysql -h localhost -u root -p -P 3307
    

假設 port 錯誤會出現下列錯誤訊息:
    
WARNING: Forcing protocol to  TCP  due to option specification. Please explicitly state intended protocol.
ERROR 2002 (HY000): Can't connect to server on 'localhost' (115)
    

可以在 Linux 中連線成功後就可以在外部裝置測試是否可以連接,如果無法連接有可能是因為防火牆未開啟,Ubuntu 預設是使用 ufw ,可以查看 Linux 防火牆 ufw 指令介紹 這篇

留言