首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

阿裡雲 ECS 實戰:Ubuntu 安裝 MySQL 並配置遠程訪問全過程

     編輯:MySQL 綜合教學

環境準備

  • 阿裡雲 ECS:Ubuntu 16.04/18.04/20.04 (免費試用 5 天)
  • 本地客戶端:Windows / Mac / Linux (含 MySQL Client / Navicat / DBeaver)
  • 安全組規則:**入方向開放 3306 端口 (或自定義端口),授權對象 0.0.0.0/0 或限定本地公網 IP**

步驟 1:安裝 MySQL Server & Client

# 更新軟件源
sudo apt-get update

# 安裝服務端 (含 5.7/8.0 視 Ubuntu 版本)
sudo apt-get install mysql-server-5.5  # 或 mysql-server (默認版本)

# 安裝客戶端工具 (可選,服務端通常自帶)
sudo apt-get install mysql-client

安裝過程會提示設置 root 密碼 (Ubuntu 18.04+ 可能不提示,默認 auth_socket 插件,需後續修改)。

步驟 2:授權 Root 遠程登錄 (生產環境**禁用**,建議創建專用業務賬號)

# 登錄 MySQL
sudo mysql -u root -p
# 或 (若 auth_socket) sudo mysql

# 創建遠程訪問用戶 (推薦)
CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPassw0rd!';
GRANT ALL PRIVILEGES ON `mydb`.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

# 或修改 root 允許遠程 (僅測試用)
# ALTER USER 'root'@'%' IDENTIFIED BY 'StrongPassw0rd!'; -- 8.0
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'StrongPassw0rd!'; -- 5.7
# FLUSH PRIVILEGES;

步驟 3:修改綁定地址 (關鍵步驟)

# 編輯配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 或 /etc/mysql/my.cnf

# 找到 bind-address = 127.0.0.1
# 修改為:
bind-address = 0.0.0.0
# 或註釋掉:# bind-address = 127.0.0.1

# 重啟服務生效
sudo systemctl restart mysql

原理: bind-address = 127.0.0.1 限制 MySQL 僅監聽本地回環接口。改為 0.0.0.0 監聽所有網卡接口,允許外部連接。

步驟 4:本地客戶端連接驗證

# 命令行
mysql -h  -u app_user -p

# Navicat / DBeaver 新建連接:
# Host: ECS公網IP (如 114.215.122.31)
# Port: 3306
# User: app_user
# Password: StrongPassw0rd!
# Database: mydb

步驟 5:服務端驗證連接來源

mysql> SHOW PROCESSLIST;
+----+-----------+----------------------+------+---------+------+-------+------------------+
| Id | User      | Host                 | db   | Command | Time | State | Info             |
+----+-----------+----------------------+------+---------+------+-------+------------------+
| 36 | app_user  | 203.0.113.45:54321   | mydb | Sleep   | 10   |       | NULL             |
+----+-----------+----------------------+------+---------+------+-------+------------------+

Host 列顯示客戶端公網 IP:隨機端口,確認連接穿透阿裡雲安全組/NAT 成功。

架構補充:公網 IP 如何映射到內網 ECS?

阿裡雲 ECS **默認分配公網 IP (或綁定 EIP)**,底層通過 **VPC 路由 + 安全組** 實現公網流量直接路由到實例主網卡。**無需手工配置端口映射/NAT**,安全組充當防火牆角色。

安全加固清單 (上線前必做)

  1. 安全組精準授權:3306 端口**僅開放給應用服務器安全組 ID / 具體運維 IP**,禁止 0.0.0.0/0。
  2. 禁用 Root 遠程登錄:業務用專用賬號,Root 僅 localhost。
  3. 修改默認端口:port = 33060 (配合安全組),降低掃描噪音。
  4. 啟用 SSL/TLS:require_secure_transport=ON,配置 CA/Server/Client 證書。
  5. 定期審計:SHOW GRANTS;, SELECT User, Host FROM mysql.user;。
  6. 備份策略:阿裡雲 RDS 免費備份 / 自建 xtrabackup / mysqldump 定時上傳 OSS。

總結

  1. 安裝:apt-get install mysql-server
  2. 授權:創建 'user'@'%' 授權指定庫
  3. 綁定:bind-address = 0.0.0.0
  4. 安全組:放行 3306 (精準授權)
  5. 驗證:本地客戶端連接 + SHOW PROCESSLIST 確認來源 IP
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved