书接上回,在完成了华为云耀云服务器L实例的五个基础配置后,我们已经具备了在这个高性能云服务器上部署自己项目的所有基础。本篇将以一个从github上下载的开源springboot学生管理系统(源代码链接:github.com/ZeroWdd/stu...)为例,介绍数据库部署和本地运行测试部署的过程,作为项目在华为云耀云服务器L实例上部署的基础。
访问源代码链接,将项目下载至本地,在这里我使用的是Github desktop,使用教程不在此赘述。
选择本地地址下载完毕后,我们在idea中打开项目,观察目录找到sql文件
在之前的配置中,我们已经具备了Navicat远程访问华为云服务器上数据库的能力,打开Navicat,双击开启数据库链接
连接后可以看见云服务器上已有的数据库,在这里,我们右键链接名,运行项目源码中的SQL文件
运行完毕点击关闭,在空白处右键刷新Navicat界面,可以看见我们已经将项目所需的数据库部署到华为云耀云服务器L实例的数据库上
回到idea中,找到src-main-resources-application.yml的配置文件,双击打开
修改如下图所示的三行,url中的127.0.0.1 改为云服务器的公网ip地址,username和password改为我们先前设置的自己的数据库用户名和密码
修改完毕,除此之外,我们仍需检查本地的java配置与项目是否吻合,查看readme.md文档可知,该项目的环境要求如下:
在此仅检查jdk配置为例,File-Setting和Project Structure,按如下步骤检查本地配置是否为项目要求的java1.8
检查完成后,点击运行按钮开始运行
若未出现报错,则表示运行成功,访问 localhost:8080/login
在该登陆界面上,输入并输入数据库中已存入的账号密码进行登录
若点击登录无反应,出现报错:
sql
java.sql.SQLException: Access denied for user 'root'@'223.167.0.215' (using password: YES)
表明Spring Boot应用程序中存在与MySQL数据库连接相关的问题,由于凭据(密码)不正确,数据库拒绝了访问。
以下是解决此问题的一些步骤:
-
检查数据库凭据 :验证在你的Spring Boot应用程序的
application.properties
或application.yml
文件中配置的数据库用户名和密码是否正确。可能是'root'用户的密码已更改或不正确。 -
检查MySQL主机和端口:确保应用程序属性中配置的MySQL主机和端口与实际运行MySQL服务器的主机和端口匹配。默认的MySQL端口是3306。
-
检查MySQL用户权限:确保'root'用户具有从IP地址'223.167.0.215'连接到数据库所需的权限。你可以使用MySQL命令行或MySQL管理工具来检查并授予必要的权限。
-
检查防火墙规则:如果你的MySQL服务器在远程计算机上运行,请检查防火墙规则,以确保运行Spring Boot应用程序的计算机被允许连接到端口3306上运行的MySQL服务器。
-
更新MySQL连接器:确保在项目中使用了正确版本的MySQL Connector/J库。有时,不匹配的库版本可能会导致兼容性问题。
-
数据库服务器状态:确保你的MySQL服务器正在运行,且正在接受连接。
-
密码加密:检查你的MySQL服务器是否正在使用密码加密。根据服务器配置,你可能需要在Spring Boot应用程序中指定密码加密方法。
-
环境特定配置 :如果你有特定环境的配置文件(例如,
application-dev.properties
,application-prod.properties
),确保你正在使用与当前环境相对应的正确配置文件。
在检查这些要点并进行必要的更正后,尝试在本地重新启动Spring Boot应用程序,并输入数据库中已存入的账号密码进行登录,成功登录,表明该项目已在本地成功运行,具有部署到华为云服务器上的先决条件。
本篇为项目部署到华为云耀云服务器L实例上的基础,对于一个到手的管理系统类项目文件,推荐在本地部署调试完毕后,再进一步上传至华为云耀云服务器L实例。
在下篇中,我将基于这个已经成功在本地运行的项目,进行后续的云服务器部署步骤。