
本文详解如何将本地开发环境(computer a)中运行的 mysql 数据库安全、可靠地暴露给局域网内另一台电脑(computer b)上的 java 应用(如可执行 jar),涵盖网络配置、mysql 权限设置、jdbc 连接字符串调整及关键安全注意事项。
本文详解如何将本地开发环境(computer a)中运行的 mysql 数据库安全、可靠地暴露给局域网内另一台电脑(computer b)上的 java 应用(如可执行 jar),涵盖网络配置、mysql 权限设置、jdbc 连接字符串调整及关键安全注意事项。
要使 Computer B 上运行的 Java 可执行 JAR 成功连接 Computer A 上的 MySQL 数据库,本质是将原本仅限本机访问(localhost 或 127.0.0.1)的 MySQL 实例,配置为接受来自局域网内指定 IP 的远程连接。这并非“直接迁移数据库”,而是建立跨设备的网络化数据库访问通道。整个过程需协同完成以下三步:
✅ 第一步:确保两台电脑处于同一局域网
- 将 Computer B 通过 Wi-Fi 或有线方式接入与 Computer A 相同的局域网(例如同一路由器下)。
-
验证连通性:在 Computer B 的命令行中执行 ping
(如 ping 192.168.1.105)。若收到响应,说明基础网络可达。
✅ 第二步:配置 Computer A 的 MySQL 允许远程访问
默认 MySQL 绑定 127.0.0.1,拒绝外部连接。需修改配置并授权用户:
-
修改 MySQL 绑定地址(以 MySQL 8.0+ 为例)
编辑配置文件(Windows: my.ini;Linux/macOS: /etc/mysql/mysql.conf.d/mysqld.cnf),找到并修改:# 注释或删除 bind-address = 127.0.0.1 bind-address = 0.0.0.0 # 允许所有 IPv4 地址连接(生产环境请限制为具体子网)
重启 MySQL 服务生效:
# Windows net stop mysql80 && net start mysql80 # Linux sudo systemctl restart mysql
-
创建/授权远程访问用户(推荐新建专用用户,避免使用 root)
在 Computer A 的 MySQL 客户端中执行:-- 创建用户(允许从任意局域网IP连接,也可限定为 '192.168.1.%') CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPass123!'; -- 授予对目标数据库的必要权限(勿授予 ALL PRIVILEGES) GRANT SELECT, INSERT, UPDATE ON my_java_db.* TO 'app_user'@'%'; -- 刷新权限 FLUSH PRIVILEGES;
✅ 第三步:更新 Java 项目的 JDBC 连接字符串
将原代码或配置文件中类似 jdbc:mysql://localhost:3306/my_java_db 的 URL,替换为 Computer A 的局域网 IP + 端口:
立即学习“Java免费学习笔记(深入)”;
// 示例:假设 Computer A 的局域网 IP 是 192.168.1.105,MySQL 端口为默认 3306 String url = "jdbc:mysql://192.168.1.105:3306/my_java_db?useSSL=false&serverTimezone=UTC"; String username = "app_user"; String password = "StrongPass123!"; Connection conn = DriverManager.getConnection(url, username, password);
? 如何查 Computer A 的局域网 IP?
- Windows:ipconfig → 查找 IPv4 地址(非 127.0.0.1 或 169.254.x.x)
- macOS/Linux:ifconfig | grep "inet " | grep -v 127.0.0.1
⚠️ 关键注意事项与安全提醒
- 防火墙放行:确保 Computer A 的防火墙(Windows Defender 防火墙 / iptables)允许 TCP 3306 端口入站。
- 避免公网暴露:此方案仅适用于可信局域网。切勿将 bind-address = 0.0.0.0 用于直接连接互联网的服务器,否则极易遭受暴力破解。
- 密码强度与最小权限:远程用户的密码必须强健,并严格遵循最小权限原则(如仅授予 SELECT, INSERT, UPDATE,禁用 DROP, DELETE, GRANT)。
- JAR 打包建议:将数据库连接参数(URL、用户名、密码)外置为配置文件(如 config.properties),避免硬编码在 JAR 中,便于不同环境切换。
完成以上步骤后,在 Computer B 上运行 JAR 即可成功连接 Computer A 的 MySQL 数据库——登录页将读取真实存储于 Computer A 的用户凭证,实现跨设备协同验证。










