SpringBoot项目连接Linux服务器数据库的两种方法
2024.01.22 05:36浏览量:4简介:本文将介绍如何在SpringBoot项目中连接Linux服务器上的数据库,包括通过Linux直接开放端口访问和通过SSH协议在本机进行访问。以MySQL为例,我们将详细解释这两种方法的实现过程。
千帆应用开发平台“智能体Pro”全新上线 限时免费体验
面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用
立即体验
在SpringBoot项目中连接Linux服务器上的数据库,通常有两种方法:一种是直接在Linux服务器上开放数据库端口,让SpringBoot项目通过网络直接连接;另一种是通过SSH协议在本机进行连接。下面我们将分别介绍这两种方法的实现过程。
方法一:Linux直接开放端口访问
- 配置Linux服务器
首先,你需要在Linux服务器上安装和配置MySQL数据库。确保MySQL服务已经启动,并且可以在命令行中使用mysql -u root -p
命令成功登录。
接下来,你需要开放MySQL的默认端口(通常是3306)让外部网络可以访问。你可以使用iptables或者firewalld等工具来实现。例如,使用iptables命令开放3306端口:sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
然后,你需要将这个规则保存,以便重启后仍然生效。具体保存规则的方法取决于你使用的Linux发行版。 - 修改SpringBoot项目配置
在你的SpringBoot项目中,你需要修改application.properties或者application.yml文件中的数据库连接配置。将数据库的URL、用户名和密码修改为对应的Linux服务器信息。例如:spring.datasource.url=jdbc
//<Linux服务器IP>:3306/yourdatabase
spring.datasource.username=root
spring.datasource.password=yourpassword
确保将<Linux服务器IP>
替换为实际的Linux服务器IP地址。 - 测试连接
启动SpringBoot项目,尝试进行数据库操作,观察是否可以成功连接。如果出现连接失败的情况,可能是因为端口没有正确开放,或者网络防火墙阻止了连接。检查Linux服务器的防火墙设置和网络连接情况,确保没有阻止连接的规则。
方法二:通过SSH协议在本机进行访问 - 安装SSH客户端
在本地机器上安装SSH客户端,如OpenSSH。在大多数Linux发行版和MacOS上,OpenSSH已经预装。如果你使用的是Windows系统,你可以安装Git Bash或者Windows Subsystem for Linux (WSL)。 - 生成SSH密钥对
在本地机器上生成一个SSH密钥对。你可以使用以下命令生成密钥对:ssh-keygen -t rsa
按照提示进行操作,生成一对公钥和私钥文件。私钥文件应该保密,公钥文件可以公开分享。将公钥文件复制到Linux服务器上。你可以使用scp命令将公钥文件上传到Linux服务器的指定目录下,例如:scp ~/.ssh/id_rsa.pub <Linux服务器用户名>@<Linux服务器IP>:/path/to/destination
- 配置SSH免密码登录
在Linux服务器上,将公钥文件添加到授权密钥文件中。打开终端,切换到公钥文件所在的目录,执行以下命令:
对于旧版本的SSH(如SSH v1):cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
对于新版本的SSH(如SSH v2):cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys2
然后保存文件并退出。现在你应该可以通过SSH协议免密码登录到Linux服务器了。 - 修改SpringBoot项目配置
在你的SpringBoot项目中,修改application.properties或者application.yml文件中的数据库连接配置。将数据库的URL、用户名和密码修改为对应的本地机器信息。例如:spring.datasource.url=jdbc
(注意这里使用localhost表示本机)//localhost:3306/yourdatabase
spring.datasource.username=root
(注意这里使用root用户)spring.datasource.password=yourpassword
(注意这里使用yourpassword作为密码)然后启动SpringBoot项目,尝试进行数据库操作,观察是否可以成功连接。如果连接失败,可能是因为SSH配置不正确或者网络问题。检查本地机器的网络设置和SSH

发表评论
登录后可评论,请前往 登录 或 注册