1. 安裝MySQL
首先連接到你的Ubuntu服務器,然后執行:
# 更新軟件包列表
sudo apt update# 安裝MySQL服務器
sudo apt install mysql-server# 啟動MySQL服務
sudo systemctl start mysql# 設置MySQL開機自啟
sudo systemctl enable mysql# 檢查MySQL狀態
sudo systemctl status mysql
2. 配置MySQL安全設置
# 運行MySQL安全配置腳本
sudo mysql_secure_installation
按提示進行配置:
- 設置root密碼強度驗證(可選擇No)
- 設置root密碼
- 移除匿名用戶(Yes)
- 禁止root遠程登錄(先選No,稍后手動配置)
- 移除test數據庫(Yes)
- 重新加載權限表(Yes)
3. 創建遠程連接用戶
# 登錄MySQL
sudo mysql -u root -p# 在MySQL命令行中執行以下命令:
-- 創建新用戶(替換 'your_username' 和 'your_password')
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';-- 授予所有權限
GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' WITH GRANT OPTION;-- 刷新權限
FLUSH PRIVILEGES;-- 退出MySQL
EXIT;
4. 配置MySQL允許遠程連接
編輯MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address
行并修改:
# 將這行:
bind-address = 127.0.0.1# 改為:
bind-address = 0.0.0.0
保存文件后重啟MySQL:
sudo systemctl restart mysql
5. 配置Ubuntu防火墻
# 允許MySQL端口3306
sudo ufw allow 3306# 如果ufw未啟用,可以啟用它
sudo ufw enable# 檢查防火墻狀態
sudo ufw status
6. 配置阿里云安全組
在阿里云控制臺:
- 進入ECS管理控制臺
- 找到你的服務器實例
- 點擊"安全組配置"
- 添加安全組規則:
- 協議類型:TCP
- 端口范圍:3306/3306
- 授權對象:0.0.0.0/0(或限制為你的IP地址更安全)
- 描述:MySQL遠程連接
7. 在Navicat中配置連接
打開Navicat:
- 點擊"連接" → "MySQL"
- 填寫連接信息:
- 連接名:自定義名稱
- 主機:你的阿里云服務器公網IP
- 端口:3306
- 用戶名:剛才創建的用戶名
- 密碼:對應的密碼
- 點擊"測試連接"
- 如果成功,點擊"確定"保存連接
8. 測試連接
# 在服務器上測試MySQL是否正在監聽3306端口
sudo netstat -tlnp | grep 3306# 或者使用ss命令
sudo ss -tlnp | grep 3306
常見問題排查
如果連接失敗,檢查以下幾點:
-
確認MySQL服務運行狀態:
sudo systemctl status mysql
-
檢查端口是否開放:
sudo netstat -tlnp | grep 3306
-
檢查用戶權限:
SELECT user, host FROM mysql.user WHERE user = 'your_username';
-
查看MySQL錯誤日志:
sudo tail -f /var/log/mysql/error.log
完成這些步驟后,你應該就能夠使用Navicat成功連接到阿里云Ubuntu服務器上的MySQL數據庫了。