xshell怎么连接数据库服务器
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
详解如何使用 Xshell 通过 SSH 登录 Linux 主机,并在远端使用 mysql 客户端连接本地 MySQL 数据库。包含端口区分、命令参数设置、SQL 验证查询及安全退出步骤,适用于 Windows 环境下的数据库运维操作。
Xshell 本身是 SSH 终端仿真软件,并不直接支持 MySQL 等数据库协议。要连接数据库服务器,标准做法是先通过 Xshell 建立 SSH 会话登录到运行数据库的 Linux 主机操作系统,再在远端 Shell 中启动数据库客户端进行连接。这种分层连接方式能确保网络通道安全,且便于利用服务器的本地回环地址访问数据库,减少暴露风险。

Xshell 通过 SSH 登录 Linux 主机,再在远端调用 mysql 客户端连接数据库的分层逻辑
以下操作基于 Windows 11 系统中的 Xshell 8,目标为同一台 Linux 服务器上运行的 MySQL 8.4。请确保你已拥有 Linux 主机的 SSH 登录权限(账号、密码/密钥、SSH 端口)以及 MySQL 数据库的访问账号和密码。
1. 分清两套端口和账号
在开始之前,必须明确两个独立的连接层级,避免将数据库端口误填为 SSH 端口。
| 连接层级 | 主机与端口 | 账号 |
|---|---|---|
| Xshell 的 SSH 会话 | Linux 服务器 IP,SSH 端口(如 22 或 2222) | Linux 系统账号(如 ops) |
| 远端 mysql 客户端 | 127.0.0.1(服务器本机),MySQL 端口(默认 3306) | MySQL 数据库账号(如 app_ro) |
示例中的 IP 地址、端口和账号均为虚构,实际操作时请替换为管理员提供的真实信息。Linux 账号用于登录操作系统,MySQL 账号用于访问数据库,两者的密码通常不同,权限体系也完全独立。
2. 在 Xshell 新建数据库主机的 SSH 会话
打开 Xshell,点击菜单栏【文件】→【新建】。在弹出的对话框中,将会话名称设为易于识别的名字,如“数据库主机-练习”。
在【连接】类别下,协议选择 SSH,主机填写 Linux 服务器的真实 IP 地址,端口填写该服务器开放的 SSH 端口。注意,这里绝对不能填写 MySQL 的 3306 端口,否则连接会立即失败或超时。

在 Xshell 中新建会话,正确填写 Linux 主机 IP 和 SSH 端口
点击【确定】保存设置。随后在会话管理器中选中该会话,点击【连接】。首次连接时,若弹出 SSH 主机密钥警告,请核对指纹信息与管理员提供的一致后接受。接着输入 Linux 用户名和密码,成功登录后,你将看到 Linux 的 Shell 提示符(如 [ops@server ~]$)。
3. 在远端确认 mysql 客户端可用
保持当前的远程会话窗口,输入以下命令检查是否安装了 MySQL 客户端:
mysql --version
如果返回类似 mysql Ver 8.4.0 for Linux on x86_64 的版本信息,说明客户端已就绪。若提示 command not found,则需联系管理员安装 mysql-client 或相应包,切勿在本地 Windows 上寻找替代方案,因为我们需要的是服务器端的连接能力。
4. 连接同一服务器上的 MySQL
确认客户端存在后,在 Shell 提示符下输入以下命令连接数据库。假设 MySQL 运行在同一台服务器上,并使用 TCP 连接:
mysql --host=127.0.0.1 --port=3306 --user=app_ro --password
这里使用 127.0.0.1 而非 localhost,是为了强制使用 TCP/IP 协议连接,从而确保 --port 参数生效。按下回车后,系统会提示 Enter password:,此时输入 MySQL 账号 app_ro 的密码。注意,输入密码时屏幕不会显示任何字符,输完后直接回车。

在 Linux Shell 中输入 mysql 命令并输入密码连接数据库
若连接成功,提示符将变为 mysql>,表示已进入数据库交互环境。若出现 Access denied,请检查 MySQL 账号密码及授权主机范围;若出现 Can't connect,请确认 MySQL 服务是否启动及防火墙设置。
5. 用查询确认已经进入数据库服务
在 mysql> 提示符下,执行一条简单的测试查询,验证连接有效性:
SELECT 1 AS connection_ok;
正常应返回一行数据,列名为 connection_ok,值为 1。这表明 SQL 引擎正在正常工作。接着,可以查看当前认证的用户信息:
SELECT USER(), CURRENT_USER(), DATABASE();
USER() 显示你尝试登录的身份,CURRENT_USER() 显示服务器实际认证通过的账号,DATABASE() 显示当前选中的数据库。若 DATABASE() 返回 NULL,说明尚未选择具体数据库,但这不影响连接状态。

5. 用查询确认已经进入数据库服务
6. 选中授权数据库,查看可见的表
输入以下命令查看当前账号有权访问的数据库列表:
SHOW DATABASES;
找到目标数据库(例如 app_demo)后,使用 USE 命令切换上下文:
USE app_demo;
再次执行 SELECT DATABASE(); 确认当前库名已变更为 app_demo。随后,可以查看该库下的所有表:
SHOW TABLES;
根据返回的表名,你可以进一步执行具体的业务查询。请注意,所有操作都应在授权范围内进行,避免对生产数据造成意外修改。
7. 先退出 MySQL,再结束 SSH 会话
完成数据库操作后,首先退出 MySQL 客户端。在 mysql> 提示符下输入:
exit
提示符将变回 Linux Shell 的样式(如 [ops@server ~]$)。确认回到操作系统层面后,再次输入 exit 并回车,即可断开 SSH 连接,关闭 Xshell 会话标签。
下次需要连接时,只需在 Xshell 中重新打开该会话,登录 Linux 后重复上述 mysql 连接命令即可。保留好正确的 SSH 会话配置,能有效避免每次重新输入服务器信息的繁琐,同时确保连接路径的清晰与安全。

7. 先退出 MySQL,再结束 SSH 会话
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















