部署项目、数据库连接失败问题解决

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 本文结合阿里云ECS轻量服务器的使用体验,记录了自己通过使用XSHELL和XFTP在安装jdk、数据库和Tomcat后部署项目到Linux上的过程中所遇到的问题。

本文结合阿里云ECS轻量服务器的使用体验,记录了自己通过使用XSHELL和XFTP在安装jdk、数据库和Tomcat后部署项目到Linux上的过程中所遇到的问题。

问题概述

本地IDEA已经连接上远程安装在Linux服务器上的MySQL数据库并且可以成功跑起来。但是打成war包上传到Linux后却无法实现调用连接数据库的问题。

问题详情

我首先通过使用XSHELL和XFTP在安装jdk、数据库和Tomcat后部署项目到Linux上。在本地的IDEA上,本人已经连接上远程安装在Linux服务器上的MySQL数据库了,在localhost上能够实现所有功能操作。但是当我打成war包上传到Linux后,登录网站却发现自己无法连接数据库。

IDEA和SQLyog也可以远程连接:

12

目前找出的有两个问题并成功解决:

3
  • 首先想到可能是证书问题。所以我在数据库配置文件的jdbcUrl中把useSSL=true改为useSSL=false,但是问题仍没有解决。

  • 主机IP地址我原本用的是ECS的公网IP地址,理应是没问题的,但是用上了jdbcUrl=jdbc:mysql://公网IP/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true 后却出现连接失败的报错,后来改成127.0.0.1后问题才解决。

    最后的配置结果:

    4

    jdbcUrl=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true

接下来就是常规的打包上传操作了:

  1. 将项目打包成war包。

  2. 将war包通过Xftp 5传输到云服务器的/www/server/tomcat/webapps/目录下 tomcat会自动把项目war包解压。根据tomcat的web.xml的配置,webapps目录下的war包都会自动解压。

  3. 到Tomcat的bin目录下,输入关闭命令./shutdown.sh;然后再输入命令打开Tomcat./startup.sh。就可以启动Tomcat了。

    cd /home
    cd Tomcat
    cd bin

    执行:startup.sh -->启动tomcat。 执行:shutdown.sh -->关闭tomcat。

    5
  4. 在浏览器地址栏中输入公网IP:8080/项目名

    访问并调用数据库成功。

本文转载自飞天加速计划,作者为计算机类专业的大二学生:https://developer.aliyun.com/article/791951

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
2月前
|
Kubernetes Cloud Native 数据库
云原生|kubernetes|k8s下部署SQLServer以及Navicat连接SQLServer报错:远程主机强迫关闭了一个现有的连接 错误的解决
云原生|kubernetes|k8s下部署SQLServer以及Navicat连接SQLServer报错:远程主机强迫关闭了一个现有的连接 错误的解决
152 0
|
消息中间件 缓存 安全
线上MySQL不可用,报错数据库无法连接
ERROR 1040(HY000): Too many connections:DB连接池里已有太多连接,不能再和你建立新连接。
109 0
|
Ubuntu 关系型数据库 MySQL
数据库重启后连接不上问题复盘
服务器管理人员增加完内存后,笔者进行验证服务时,首先看了下mysql的进程是否起来了,发现mysql进程正常,然后就去管理后台查看数据是否查询正常。进去后发现数据查询并不能正常响应。心里一慌,完蛋!!!!
277 0
数据库重启后连接不上问题复盘
|
关系型数据库 MySQL 数据库
Navicat连接MySQL数据库报2059错误如何解决?
Navicat连接MySQL数据库报2059错误如何解决?
244 0
Navicat连接MySQL数据库报2059错误如何解决?
|
关系型数据库 MySQL 网络安全
Navicat连接服务器数据库(超详细)
Navicat连接服务器数据库(超详细)
559 0
Navicat连接服务器数据库(超详细)
|
存储 数据可视化 关系型数据库
navcat连接不上远程数据库
navcat连接不上远程数据库
|
SQL 关系型数据库 Linux
本地Mysql数据库快速迁移到服务器
mysq迁移.png 刚接触Django的时候,测试数据存到了mysql,在数据库往线上环境迁移的时候遇到了问题,因为图形化界面Navicat连不上远程的默认权限的数据库,后来把登录权限调的很高才勉强连上.
1746 0
|
关系型数据库 MySQL 数据库连接
阿里云mysql数据库连接不上
报错信息: Host is not allowed to connect to this MySQL server 原因,没有权限 解决方法:https://blog.csdn.net/bingjianIT/article/details/54384299 在装有MySQL的机器上登录MySQL mysql -u root -p密码 执行use mysql; 执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
2190 0
|
运维 关系型数据库 MySQL