準備工作(很重要!!!):
- ? ? 提前做好Linux服務器快照
- ? ? 提前做好數據庫數據備份
1. 修改配置文件
首先,我們需要找到MariaDB的配置文件。通常情況下,這個文件位于以下位置:
- Linux系統:
/etc/my.cnf
?或?/etc/mysql/my.cnf
在配置文件中,找到?[mysqld]
?部分并進行以下修改:
[mysqld]
port = 13306 # 將端口修改為非標準端口,例如13306
2. 重啟MariaDB服務
修改配置文件后,需要重啟MariaDB服務以使更改生效。
- Linux系統:
systemctl restart mariadb?
#我的是systemctl restart mysqld
3. 驗證端口號更改
在更改端口號后,可以通過以下命令驗證端口號是否正確更改:
ss -ltnp | grep 13306? # Linux系統?
如果端口號更改成功,上述命令將顯示MariaDB服務正在監聽13306端口。
4. 更改防火墻設置
如果您在Linux系統上運行MariaDB,并且啟用了防火墻,您需要將新的端口號添加到防火墻的例外列表中。以下是添加端口的命令:
firewall-cmd --zone=public --add-port=13306/tcp
firewall-cmd --reload
5. 更改客戶端連接設置
在連接到更改端口號的MariaDB服務器時,需要在客戶端的連接命令中指定端口號:
mysql -h 主機名 -P 13306?-u 用戶名 -p 密碼
#如果本機:mysql -uroot -p密碼
注意事項
- 在修改端口號時,請確保選擇一個未被其他服務使用的端口號。且開通了網閘和暴露了端口
- 修改端口號后,確保所有連接到MariaDB的客戶端程序都更新了連接信息。
遇到的問題
1.ERROR 2002 (HY000): Can't connect to local server through socket '/var/lib/mysql/mysql.sock'
1.1.?查找mysql.sock?文件并創建軟鏈接
find?/ -name mysql.sock
ln?-s /var/lib/mysql/mysql.sock /tmp/mysql.sock
1.2. 修改 MySQL 配置文件
如果找不到?mysql.sock?文件,可以修改 MySQL 的配置文件?my.cnf
vi /etc/my.cnf
#在?[mysqld]?部分添加或修改以下內容:
socket = /var/lib/mysql/mysql.sock
保存并退出。
1.3. 重啟 MySQL 服務
systemctl restart mysqld
2.mysql啟動報錯
2.1. 查看日志:tail -200f /home/data/mariadb/logs/mysqld.log?
報錯信息:mysql報錯Do you already have another mysqld server running on socket,如下圖:
發現問題出在/tmp/mysql.sock
2.2. 檢查/etc/my.cnf下mysql配置文件確認sock文件在tmp下
2.3. 檢查該路徑發現tmp路徑屬于root
ll?/tmp/mysql.sock?
2.4. 將該路徑分配給mysql用戶重啟mysql,問題解決
chown -R mysql.mysql /tmp/mysql.sock?
出現如下內容表示mariadb啟動成功 :
或者用systemctl status mysqld 或??ss -ltnp | grep 13306