使用 Xshell 连接阿里云数据库(如 MySQL、PostgreSQL 等)通常需要通过 SSH 跳板机(堡垒机) 或者直接连接数据库服务端口。以下是详细步骤:
✅ 一、前提条件
- 阿里云服务器 ECS 已经开放相关端口
- 如 MySQL 默认是
3306,PostgreSQL 是5432
- 如 MySQL 默认是
- 数据库允许远程访问
- 配置数据库用户权限允许远程 IP 访问
- 安全组规则已放行数据库端口
- 如果你是直接连接数据库,请确保阿里云安全组或防火墙允许该端口
- 推荐做法:通过 SSH 连接跳板机再连接数据库
- 更加安全,避免数据库端口暴露在公网
✅ 二、方式一:通过 SSH 登录到 ECS 再连接数据库(推荐)
步骤 1:使用 Xshell 连接到阿里云 ECS 主机
- 打开 Xshell
- 新建会话:
- 协议:
SSH - 主机:填写你的阿里云 ECS 的公网 IP
- 端口:默认是
22
- 协议:
- 用户身份验证:
- 方法选择
Password或Public Key - 填写用户名和密码(如 root 或其他用户)
- 方法选择
- 点击“确定”后连接成功
步骤 2:登录后使用命令行连接数据库
例如连接本地的 MySQL 数据库:
mysql -u root -p
输入密码即可进入数据库。
如果是连接远程数据库(比如 RDS),可以这样:
mysql -h rds实例地址 -u root -p
✅ 三、方式二:使用 Xshell + Xforwarding 图形化连接数据库(可选)
如果你希望用图形界面工具(如 Navicat、DBeaver)连接阿里云数据库,可以通过 Xshell 设置 SSH 隧道 / X Forwarding
步骤如下:
1. 在 Xshell 中设置隧道转发
- 打开会话属性 → SSH → Tunnel
- 添加一个隧道:
- 类型:
Local - 源主机:
localhost - 监听端口:如
3306 - 目标主机:数据库地址(如阿里云 RDS 地址)
- 目标端口:数据库端口(如
3306)
- 类型:
2. 本地数据库客户端配置
- 使用 Navicat 或 DBeaver 等工具
- 主机填
127.0.0.1 - 端口填你上面设置的监听端口(如
3306) - 用户名和密码填写数据库账号信息
这样就可以通过 Xshell 建立的 SSH 隧道连接数据库了。
✅ 四、注意事项
| 项目 | 说明 |
|---|---|
| 安全性 | 不建议将数据库端口(如 3306)直接对公网开放,容易被攻击 |
| 推荐做法 | 通过 SSH 登录服务器后再连接数据库,或者使用阿里云 RDS 的白名单机制 |
| 白名单 | 如果使用阿里云 RDS,需将你的 IP 加入 RDS 的 IP 白名单中 |
| 权限问题 | 数据库用户必须允许从指定 IP 登录 |
✅ 五、补充:MySQL 允许远程连接的配置方法
如果你是自己搭建的数据库,要修改以下内容:
1. 修改 MySQL 配置文件(如 /etc/my.cnf)
注释掉 bind-address = 127.0.0.1
# bind-address = 127.0.0.1
2. 创建允许远程访问的用户
CREATE USER 'root'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你提供具体的数据库类型(如 MySQL、PostgreSQL)、是否是自建数据库还是阿里云 RDS,我可以给出更详细的指导。
是否还需要我帮你写一个 .xsh 会话文件模板?
CLOUD技术博