开发环境内网MySQL连接操作文档

开发环境内网MySQL连接操作文档

1. 文档目的

本文档用于规范开发环境下,通过SSH隧道端口转发方式连接内网MySQL数据库的操作流程、命令说明及注意事项,确保所有开发人员可快速、正确完成数据库连接,避免操作失误导致的连接失败。

2. 适用范围

本操作适用于所有需要在本地开发环境,访问内网MySQL数据库(ry-vue库)的开发人员,无需依赖VPN,通过SSH跳板机建立隧道即可实现连接。

3. 前置条件

  • 本地已安装SSH客户端(Windows系统自带OpenSSH,可直接通过CMD/PowerShell执行命令);

  • 方式一(私钥登录):已获取跳板机登录私钥文件(路径:D:\工作密钥\id_yzy_rsa);

  • 方式二(密码登录):已获取跳板机登录密码(用户名:root);

  • 已确认内网MySQL数据库相关信息(IP、端口、账号密码);

  • 本地开发项目已配置正确的数据库连接参数。

4. 核心信息说明

|------------|-----------------------|---------------------------|
| 类型 | 具体信息 | 说明 |
| 跳板机公网IP | 跳板机公网IP(联系运维获取) | 用于建立SSH连接的公网地址 |
| 跳板机SSH端口 | 10482 | 跳板机SSH登录端口(非默认22端口) |
| 跳板机登录用户名 | root | 登录跳板机的账号(两种登录方式通用) |
| 跳板机登录私钥 | D:\工作密钥\id_yzy_rsa | 身份认证私钥(仅私钥登录方式使用,需确保权限正确) |
| 跳板机登录密码 | 请填写跳板机root账号对应密码 | 仅密码登录方式使用,输入时需注意隐私保护 |
| 内网MySQL IP | 内网MySQL IP(联系运维获取) | 目标数据库内网真实IP |
| 内网MySQL端口 | 3306 | MySQL默认端口 |
| 本地映射端口 | 13306 | 本地开发项目连接的端口(两种登录方式通用) |
| 目标数据库名 | ry-vue | 需连接的数据库名称 |
| MySQL账号 | root | 登录内网MySQL的账号 |
| MySQL密码 | 请填写内网MySQL root账号对应密码 | 需使用正确密码,否则会出现权限拒绝报错 |

5. 操作步骤(完整流程)

跳板机登录支持两种方式(二选一即可),分别为「私钥登录」和「密码登录」,后续隧道映射、项目配置步骤完全一致。

5.1 方式一:私钥登录(推荐,免密码,更安全)

5.1.1 步骤1:检查私钥权限(首次操作必做)

私钥文件权限过宽会导致SSH登录失败,需设置为"仅当前用户可见",操作如下:

  1. 打开文件夹:D:\工作密钥\,找到id_yzy_rsa文件;

  2. 右键点击文件 → 选择【属性】→ 切换到【安全】标签;

  3. 点击【高级】,然后点击【禁用继承】,选择【删除所有继承的权限】;

  4. 点击【添加】→【选择主体】→【高级】→【立即查找】,选中当前Windows用户名(如12395);

  5. 给该用户勾选【完全控制】权限,点击【确定】保存所有设置。

5.1.2 步骤2:执行SSH隧道命令

  1. 打开Windows CMD命令提示符(或PowerShell);

  2. 复制以下完整命令,替换占位符后粘贴执行:

复制代码

ssh -i "D:\工作密钥\id_yzy_rsa" -L 13306:内网MySQL IP:3306 root@跳板机公网IP -p 10482

说明:内网MySQL IP、跳板机公网IP需联系运维获取,替换命令中对应占位符即可。

5.2 方式二:密码登录(无需私钥,简单便捷)

5.2.1 步骤1:执行SSH隧道命令(无需检查私钥)

  1. 打开Windows CMD命令提示符(或PowerShell);

  2. 复制以下完整命令,替换占位符后粘贴执行:

复制代码

ssh -L 13306:内网MySQL IP:3306 root@跳板机公网IP -p 10482

说明:内网MySQL IP、跳板机公网IP需联系运维获取,替换命令中对应占位符即可。

5.2.2 步骤2:输入跳板机密码

命令执行后,会提示输入密码(输入时不显示明文,正常输入即可):

复制代码

root@跳板机公网IP's password:

输入跳板机root账号对应的密码,按下回车即可。

5.3 步骤3:确认隧道建立成功(两种方式通用)

无论哪种登录方式,命令执行后,出现以下内容,即表示SSH隧道建立成功:

复制代码

Last login: Thu May 14 16:00:02 2026 from 61.149.7.117 [root@JumpHost ~]$

注意:建立成功后,该命令窗口不能关闭,关闭窗口即断开隧道连接。

5.4 步骤4:配置项目数据库连接(两种方式通用)

修改项目中application.yml(或application.properties)的数据库连接配置,复制以下内容覆盖原有配置(仅修改数据库相关部分):

复制代码

spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver druid: master: url: jdbc:mysql://localhost:13306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 username: root password: 请填写内网MySQL root账号密码 slave: enabled: false # 暂不启用从库,仅连接主库ry-vue

5.5 步骤5:启动项目,验证连接(两种方式通用)

启动本地SpringBoot项目,若控制台出现以下日志,即表示数据库连接成功:

复制代码

DruidDataSource: init success

6. 命令逐段详细解释(两种方式)

为便于理解,分别对两种登录方式的SSH命令进行逐段拆解说明:

6.1 私钥登录命令解释

复制代码

ssh -i "D:\工作密钥\id_yzy_rsa" -L 13306:内网MySQL IP:3306 root@跳板机公网IP -p 10482

  • ssh:启动SSH客户端,用于建立与跳板机的安全加密连接;

  • -i "D:\工作密钥\id_yzy_rsa":指定身份认证私钥文件,-i是identity file的缩写,通过该私钥免密码登录跳板机,无需输入密码;

  • -L 13306:内网MySQL IP:3306:核心参数,实现本地端口转发(SSH隧道),格式为「本地端口:内网MySQL IP:内网MySQL端口」,表示将本地13306端口的数据,通过跳板机转发到内网MySQL服务器(内网MySQL IP:3306);

  • root@跳板机公网IP:指定跳板机登录信息,root是登录用户名,跳板机公网IP是跳板机对外可访问的公网地址(需联系运维获取);

  • -p 10482:指定跳板机SSH登录端口,因跳板机未使用默认22端口,需通过该参数明确端口号。

6.2 密码登录命令解释

复制代码

ssh -L 13306:内网MySQL IP:3306 root@跳板机公网IP -p 10482

  • ssh:启动SSH客户端,用于建立与跳板机的安全加密连接;

  • -L 13306:内网MySQL IP:3306:核心参数,实现本地端口转发(SSH隧道),格式为「本地端口:内网MySQL IP:内网MySQL端口」,表示将本地13306端口的数据,通过跳板机转发到内网MySQL服务器(内网MySQL IP:3306);

  • root@跳板机公网IP:指定跳板机登录信息,root是登录用户名,跳板机公网IP是跳板机对外可访问的公网地址(需联系运维获取);

  • -p 10482:指定跳板机SSH登录端口,因跳板机未使用默认22端口,需通过该参数明确端口号;

  • 说明:该方式无需指定私钥,执行命令后输入root账号对应密码即可完成登录。

相关推荐
Bert.Cai1 小时前
Linux dirname命令详解
linux·运维·服务器
程序 代码狂人1 小时前
Linux查询自己环境的一些基础命令
linux·运维·服务器
aerror1 小时前
如何使用ubuntu搭建一个无盘PC启动服务器
linux·服务器·ubuntu
合合技术团队2 小时前
海外发票智能解析:跨版式、多税制票据的自动化处理方案(附GitHub项目地址)
运维·自动化·github·ocr
东风破1372 小时前
DM存储过程及系统 表,系统视图,以及常规的运维SQL语句
运维·数据库·dm达梦数据库
ziqi5222 小时前
Docker compose 和共享数据
运维·docker·容器
AC赳赳老秦3 小时前
文案策划提效:OpenClaw批量生成活动文案、宣传海报配文,适配不同渠道调性
java·大数据·服务器·人工智能·python·deepseek·openclaw
wangjialelele3 小时前
Linux SystemV 消息队列 + 责任链模式:实现客户端消息处理流水线
linux·服务器·c语言·网络·c++·责任链模式
|_⊙3 小时前
Linux 深入理解文件(Ext2文件系统:下)
linux·服务器·数据库