本地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 ...
随机推荐
- Java安全之JNDI注入
Java安全之JNDI注入 文章首发:Java安全之JNDI注入 0x00 前言 续上篇文内容,接着来学习JNDI注入相关知识.JNDI注入是Fastjson反序列化漏洞中的攻击手法之一. 0x01 ...
- 转载:java web 项目中如何设置项目打开的默认页面
通过博客学到的两种方法总结: 一.在web.xml文件中加入: 此时项目打开的默认页面就是loginS.html 二.在WebContent文件夹下添加index.jsp文件,此时这个index.js ...
- C++ 基础 5:多态
1 什么是多态 多态按字面的意思就是多种形态.当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态. C++ 多态意味着由继承而产生的相关的不同的类,调用重写函数时,会根据实际的对象类型来执 ...
- shell编程之输入输出
1.输入 read命令有以下几种常见形式: read var :等待用户输入,从标准输入中读取一行并赋值给变量var read : 标准输入读取一行,并赋值给内置变量REPLY read -a a ...
- 《.NET 5.0 背锅案》第5集-案情大转弯:都是我们的错,让 .NET 5.0 背锅
第1集:验证 .NET 5.0 正式版 docker 镜像问题 第2集:码中的小窟窿,背后的大坑,发现重要嫌犯 EnyimMemcachedCore 第3集-剧情反转:EnyimMemcachedCo ...
- Spring源码之Bean生命周期
https://www.jianshu.com/p/1dec08d290c1 https://www.cnblogs.com/zrtqsk/p/3735273.html 总结 将class文件加载成B ...
- spring mvc 基础知识
spring mvc 在web.xml中的配置: 例子: <?xml version="1.0" encoding="UTF-8"?> <we ...
- C#委托的详细总结
1.什么是委托 委托是C#中一种类型,它的作用相当于C语言中的函数指针,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用if- ...
- 利用requestes\pyquery\BeautifulSoup爬取某租房公寓(深圳市)4755条租房信息及总结
为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: 1 import requests 2 from reque ...
- bWAPP----Server-Side Includes (SSI) Injection
Server-Side Includes (SSI) Injection 什么是SSI和SSI注入 SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思.从技术 ...