本地web项目部署到服务器里连接不上数据库的解决办法
今天突然想到把自己之前的项目挂到服务器上,但是用到了数据库,于是给服务器装上了MySQL,想着能赶紧把项目挂上去看看效果,然后并不是一帆风顺,在奋斗了四小时后终于解决了问题的所在。
(1)首先我找到了自己的期中考试题目,志愿者系统的增删改查。在装好数据库后我立刻将自己的项目打包并且放到tomcat里边,于是问题来了。
项目是在我本地写的,与数据库的连接当然也是本地的,所以,注册驱动时应该使用服务器对应的IP(如果数据库就在部署项目的服务器上则可以使用localhost),服务器上数据库的用户和密码,而我还是用的本机上的东西。

这是更改完的配置信息。
(2)再配置完后重新打包-->重新发布,发现还是不行,于是去找百度、学长、热心网友,在他们的指导下我学会了看tomcat里的错误报告(没错),原先以为放在服务器里项目没有编译器的情况下是看不到错误报告的,tomcat运行时可以看到错误报告!!!tomcat运行时可以看到错误报告!!!tomcat运行时可以看到错误报告!!!

(3)在错误报告的引导下发现是dao层在执行sql语句时出错,报出空指针错误,

于是可以猜测是连接没有获取到,进一步定位到了获取连接时出错了。

后来经过一系列的测试,找错了最后的错误原因----权限问题

于是可以百度解决最后的问题了。
解决方法:
(1)登陆服务器,再登陆数据库
(2)找到名为“mysql”的库
(3)找到名为“user”的表
(4)在 “user” 中找到 “root” 所在的行,再将该行的 “Host” 中的 “localhost” 改为 “%”
(5) 刷新权限!!FLUSH PRIVILEGES
刷新权限!!FLUSH PRIVILEGES
刷新权限!!FLUSH PRIVILEGES
改完后效果如图

cmd下运行的命令为:
(1)use mysql;
(2)update user set host = '%' where user = 'root';
(3)FLUSH PRIVILEGES;
--------------------2019.12.31更新-------------------------
经过一段时间的理解和学习后,知道了为什么会出现之前的问题。
jdbc:mysql://IP地址:3306/database_name
注册驱动时连接数据库使用的地址是服务器的ip地址,那么即使数据库部署在了同一台服务器上,还是会通过远程连接的方式来连接数据库。所以问题就来了,远程连接的数据库权限不足,需要修改权限。
那么对于我来说,数据库部署的服务器和项目所部署到的服务器是同一台服务器,那么注册驱动时的地址就可以是localhost了,这样就不会出现权限的问题了。所以使用如下连接方式就可以了。
jdbc:mysql://localhost:3306/database_name
本地web项目部署到服务器里连接不上数据库的解决办法的更多相关文章
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
- 如何将Java Web项目部署到服务器上
转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...
- 当java web项目部署到服务器上时,无法将图片等媒体文件保存到服务器的最终奥义
今天,我在部署web项目至云服务器上(Tomcat8.0)时,突然发现我的应用,无法上传图片,视频等多媒体文件了,一再检查自己的代码逻辑没有问题之后,逐一排查,首先想到的就是看一下控制台打印的日志,日 ...
- web项目部署到服务器中浏览器中显示乱码
项目部署之后浏览器打开查看时页面乱码 这里可能需要修改一下tomcat配置文件,首先找到Tomcat的安装路径下的conf/server.xml文件,找到之后可以CTRL+F搜索如下的内容: < ...
- thinkphp项目部署在phpstudy里的nginx上
朋友的一个thinkphp做的项目,让我帮他部署一下的,LINUX服务器,用宝塔. 第一台服务器,装上宝塔,宝塔里装NGINX,PHP5.6,再建立网站,绑定域名,访问成功,一切正常! 昨天试着给另一 ...
- myeclipse用maven搭建web项目后tomcat启动报找不到jar包解决办法
因为maven项目jar包放在Maven Dependencies内,用tomcat启动web项目,会找WEB-INF下的lib目录,需要部署Maven Dependencies 选中项目-prope ...
- Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法(转)
转自:http://blog.csdn.net/lvguanming/article/details/37812579?locationNum=12 写在前面的话 现在是越来越太原讨厌Eclipse这 ...
- Eclipse 连接不上 hadoop 的解决办法
先说一下我的情况,集群的 hadoop 是 1.0.4 ,之后在虚拟机上搭建了最新稳定版 1.2.1 之后,Eclipse 插件始终连接不上. 出现 Error: Call to 192.168.1. ...
- 关于jsp web项目,jsp页面与servlet数据不同步的解决办法(报错404、405等)即访问.jsp和访问web.xml中注册的/servlet/的区别
报错信息: Type Status Report Message HTTP method GET is not supported by this URL Description The method ...
随机推荐
- [读书笔记] Python语言及其应用
记录下秋招期间看的一本Python工具书<Python语言与其应用>,查漏补缺,部分内容整理如下: 易混淆概念 1.1 删除 - del,remove()和pop() 1.2 复制 - 浅 ...
- Serilog 源码解析——数据的保存(上)
在上一篇中,我们主要研究了Serilog是如何解析字符串模板的,它只是单独对字符串模板的处理,对于日志记录时所附带的数据没有做任何的操作.在本篇中,我们着重研究日志数据的存储方式.(系列目录) 本篇所 ...
- 幻读在 InnoDB 中是被如何解决的?(转)
在MySQL事务初识中,我们了解到不同的事务隔离级别会引发不同的问题,如在 RR 级别下会出现幻读.但如果将存储引擎选为 InnoDB ,在 RR 级别下,幻读的问题就会被解决.在这篇文章中,会先介绍 ...
- 一文看懂Java序列化之serialVersionUID
serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ...
- Linux(CentOS6.8)配置Redis
1.Redis简介 Redis:REmote DIctionary Server(远程字典服务器). Redis是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分 ...
- XSS(跨站脚本攻击) - 常用代码大全
XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...
- 【硬件】HDMI接口HPD原理
目录 一.什么是HPD? 二.HDMI的HPD(热插拔)原理 三.HDMI源端对HPD信号有什么要求? 由于项目需要通过HDMI获取EDID的数据,需要学习一下其获取的工作原理,所以在这里记录下. 一 ...
- UnitTest_墨振文档
目录 一.框架介绍 1 二.四大组件 2 三.ddt数据驱动 3 一.框架介绍 unittest框架是python 自带的一个作为单元测试的测试框架,在最初叫pyUnit,相当与Java语言中的Jun ...
- 打开WPS时出现MathType错误弹窗怎么办
MathType是一款特别优秀的公式编辑器,特别是在文档中出现大量的复杂数学公式需要编辑时.不过MathType与Office的兼容性还算好,与WPS的兼容性要略逊一筹,有时候会出现如下的报错弹窗.提 ...
- yii2.0 中数据查询中 or、in、between 及session的使用
1 HTML: 2 3 <div> 4 <form class="form-inline " method="get" action=&quo ...