You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VPS上部署两个Spring Boot项目并实现MySQL数据库共享?

问题解答:Spring Boot多应用在VPS共享MySQL数据库

当然可以实现,和本地共享数据库的逻辑本质一致,核心是让两个Spring Boot应用都能正确连接到同一台MySQL服务。以下是具体操作步骤:

  • 确保MySQL服务的可访问性
    如果MySQL与两个Spring Boot应用部署在同一台VPS上,直接用localhost或127.0.0.1作为数据库地址即可;若MySQL部署在其他服务器(包括本地),需调整MySQL配置:

    1. 编辑MySQL配置文件(通常为/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf),将bind-address设置为VPS公网IP或0.0.0.0(允许所有IP访问,需注意安全)。
    2. 重启MySQL服务:sudo systemctl restart mysql。
    3. 在MySQL中创建允许远程访问的用户,示例命令:
      CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
      GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'%';
      FLUSH PRIVILEGES;
      
  • 统一配置Spring Boot应用的数据库连接
    两个项目的application.properties或application.yml中,配置相同的数据库连接信息:
    以application.properties为例:

    spring.datasource.url=jdbc:mysql://[MySQL的IP地址]:3306/your_database?useSSL=false&serverTimezone=UTC
    spring.datasource.username=your_user
    spring.datasource.password=your_password
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    

    替换[MySQL的IP地址]:若与应用同VPS则填localhost,否则填MySQL所在服务器的公网IP。

  • 部署与验证

    1. 将两个Spring Boot应用打包为JAR包(执行mvn clean package),上传至VPS。
    2. 分别启动应用(例如java -jar app1.jar、java -jar app2.jar,建议用systemd配置后台运行)。
    3. 测试数据库交互:比如用一个应用写入数据,另一个应用读取,确认数据一致即可验证共享生效。
  • 安全提示

    • 避免使用root用户远程访问MySQL,创建权限受限的专用用户。
    • 若MySQL暴露在公网,建议开启SSL加密连接,修改spring.datasource.url中的useSSL=true并配置对应证书。
    • 配置VPS防火墙,仅允许应用所在IP或信任IP访问3306端口。

内容的提问来源于stack exchange,提问作者J Maine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:39:34