xshell如何安装mysql 远程部署数据库步骤
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
通过 Xshell SSH 连接 Ubuntu 24.04 服务器,使用官方源安装 MySQL 8.0。教程包含服务启动检查、创建 appdb 数据库与 appuser 用户、授权读写权限,并通过插入和查询数据验证远程部署是否成功。
通过 Xshell 安装 MySQL,实质是利用 Windows 端的 SSH 客户端连接远程 Linux 服务器,并在服务器终端内完成数据库的安装与配置。这种做法的优势在于无需物理接触服务器,即可在安全的加密通道中完成从软件包安装到权限分配的全过程。最终目标是建立一个可独立读写的业务账号,并能成功写入和查询数据,而不仅仅是看到安装包下载完成。
本教程以一台全新的 Ubuntu Server 24.04 LTS 为例,使用 Ubuntu 官方仓库提供的 MySQL 8.0 系列软件包。操作前请确保你拥有服务器的 SSH 访问权限、sudo 提权能力,且服务器网络能正常访问官方软件源。如果服务器上已存在其他数据库或混合软件源,请先备份并核对现有环境,不要直接套用以下全新安装流程。

Xshell 新建会话属性窗口,填写主机 IP 和 SSH 端口
1. 建立 SSH 会话,确认远程系统环境
在 Windows 电脑上打开 Xshell,点击左上角【文件】→【新建】。在弹出的会话属性窗口中,将名称设为“数据库测试机”,协议选择 SSH,主机填写服务器的实际 IP 地址,端口默认为 22(若修改过请填写对应端口)。点击【连接】后,首次连接会提示核对主机指纹,确认无误后接受。输入获准的 SSH 账号密码完成认证。
进入远程命令行界面后,首先执行以下命令确认系统版本和当前用户身份:
cat /etc/os-release
whoami
观察输出结果,确认 PRETTY_NAME 包含 Ubuntu 24.04,且当前登录账号符合预期。后续所有 Shell 命令均在此远程窗口中执行,切勿在 Windows 本地的 CMD 或 PowerShell 中运行。若后续命令需要提权,系统提示输入密码时,请输入该远程账号的登录密码。

1. 建立 SSH 会话,确认远程系统环境
2. 更新软件源并安装 MySQL 服务端
在安装前,先更新本地包索引,确保获取最新的软件元数据:
sudo apt update
接着查看候选包信息,确认即将安装的 MySQL 版本来源:
apt-cache policy mysql-server
确认候选包来自 Ubuntu 官方仓库后,执行安装命令:
sudo apt install mysql-server
系统会列出即将安装、升级或移除的软件包清单。仔细阅读列表,若发现计划移除已有的数据库组件,请立即停止并查明原因,不要盲目确认。Ubuntu 24.04 官方源通常提供 MySQL 8.0 系列,具体小版本号随安全更新变化,以实际显示为准。此处不添加 Oracle 官方 APT 源,也不混用其他发行版的安装命令。
安装完成后,检查服务状态和客户端版本:
systemctl status mysql.service --no-pager
mysql --version

终端执行 systemctl status 显示 MySQL 服务正在运行
systemctl 的输出中,Active 状态应显示为 active (running),表明数据库服务正在运行。mysql --version 仅证明客户端命令已就位,不能替代服务状态检查。若服务未启动,请查看 /var/log/mysql/error.log 排查错误,不要直接删除数据目录重装。
3. 创建专用数据库与受限用户
Ubuntu 官方打包的 MySQL 默认允许 root 用户通过本地 socket 免密登录。在远程终端执行:
sudo mysql -u root
进入 mysql> 提示符后,执行以下 SQL 语句。本例创建名为 appdb 的数据库和本地账号 appuser。请确保这些名称未被现有业务占用。
CREATE DATABASE appdb CHARACTER SET utf8mb4;
CREATE TABLE appdb.deployment_check (
id INT PRIMARY KEY,
note VARCHAR(50) NOT NULL
);
CREATE USER 'appuser'@'localhost'
IDENTIFIED WITH caching_sha2_password BY RANDOM PASSWORD;
GRANT SELECT, INSERT, UPDATE, DELETE
ON appdb.* TO 'appuser'@'localhost';
SHOW GRANTS FOR 'appuser'@'localhost';
EXIT;

MySQL 提示符下执行 CREATE USER 语句并生成随机密码
执行 CREATE USER ... BY RANDOM PASSWORD 时,服务器会生成并返回一个随机密码。请务必复制并妥善保存此密码,这是后续登录的唯一凭证。若某条语句报错,请先解决错误再继续,不要假设后续语句自动成功。
上述权限仅授予 appuser 对 appdb 库的增删改查权限,且限制连接来源为 localhost(即服务器本机)。这符合最小权限原则,既满足应用需求,又避免了向公网开放高危管理账号。
4. 使用新账号验证数据读写
退出 root 会话后,回到 Linux Shell。使用刚才生成的随机密码登录新创建的账号:
mysql -u appuser -p appdb
系统提示输入密码时,粘贴或输入保存的随机密码。注意不要将密码直接写在命令参数中,以免留在历史记录里。登录成功后,执行以下 SQL 进行验证:
SELECT CURRENT_USER(), DATABASE();
INSERT INTO deployment_check (id, note)
VALUES (1, 'deployment-check');
SELECT id, note FROM deployment_check WHERE id = 1;
EXIT;

使用 appuser 登录并成功查询到插入的记录
观察输出:CURRENT_USER() 应显示 appuser@localhost,DATABASE() 应显示 appdb。插入语句若无报错,且随后的查询能返回 id=1, note='deployment-check',则证明数据库引擎工作正常,账号权限配置正确,数据持久化有效。
为确保持久性,可再次执行 mysql -u appuser -p appdb 重新登录并查询同一条记录。若能查到数据,说明之前的写入已存入磁盘,而非仅存在于内存会话中。
至此,MySQL 已通过 Xshell 远程部署完毕。本例通过 SSH 隧道在服务器本机管理数据库,无需将 3306 端口暴露给公网,保障了基础安全。若未来需从其他机器访问,应另行配置防火墙规则、绑定地址及 SSL 加密连接。建议保留本次操作的命令记录和生成的随机密码备份,并将 Xshell 会话保存好,以便后续维护。

































