开发环境内网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登录失败,需设置为"仅当前用户可见",操作如下:
-
打开文件夹:D:\工作密钥\,找到id_yzy_rsa文件;
-
右键点击文件 → 选择【属性】→ 切换到【安全】标签;
-
点击【高级】,然后点击【禁用继承】,选择【删除所有继承的权限】;
-
点击【添加】→【选择主体】→【高级】→【立即查找】,选中当前Windows用户名(如12395);
-
给该用户勾选【完全控制】权限,点击【确定】保存所有设置。
5.1.2 步骤2:执行SSH隧道命令
-
打开Windows CMD命令提示符(或PowerShell);
-
复制以下完整命令,替换占位符后粘贴执行:
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隧道命令(无需检查私钥)
-
打开Windows CMD命令提示符(或PowerShell);
-
复制以下完整命令,替换占位符后粘贴执行:
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账号对应密码即可完成登录。