本地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 ...
随机推荐
- HTML5+CSS3热门活动页面
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Interface(接口分享)第一节
一.接口初探 有时候我们传入的参数可能会包含很多的属性,但是编译器只会检查那些必须的属性是否存在,以及类型是否匹配,而咱们要讲的接口其实就是用来描述下面这个例子里的结构,对于接口传入的数据咱们只关心它 ...
- REDHAT 7.5beta 新推出的VDO功能
前言 关于VDO VDO的技术来源于收购的Permabit公司,一个专门从事重删技术的公司,所以技术可靠性是没有问题的 VDO是一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽,VDO ...
- python菜鸟教程学习4:基本数据类型
变量:python中的变量不需要声明,但在使用前都必须要赋值,变量赋值之后才会被创建 在python中变量是没有类型的,所有的数据类型是对内存中对象的类型. 赋值:使用等号=来给变量赋值 python ...
- CSS3之flex布局
若要使用flex布局,需在父元素上声明" display : flex ",这样它所有的直系子元素就成为flex元素 1.居中 1)垂直居中:align-items : cente ...
- php批量转换时间戳
//批量转换时间戳 array_map(array($this, 'myfunction'),'时间戳数组'); //如 array('time1'=>11,'time2'=>2222); ...
- 玩转百度地图API(地图,坐标,标记,添加控件,2D图,混合图,智能搜索,地址解析器,信息窗口)
1.注册得到appkey 2.直接上代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Conte ...
- 写的太细了!Spring MVC拦截器的应用,建议收藏再看!
Spring MVC拦截器 拦截器是Spring MVC中强大的控件,它可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是在渲染视图后进行操作. 拦截器概述 对于任何优秀的MVC框架, ...
- kali Linux的 安装详细步骤
一.打开"kali 官方网站,下载kali镜像文件.地址(https://www.kali.org/downloads/) 在Download菜单界面下,有历史版本下载和最新版下载.找到 ...
- MindManager使用教程:如何导出HTML5交互式导图
Mindmanager思维导图软件有着友好的用户界面以及丰富的思维导图制作功能.再搭配与Microsoft 软件的无缝集成功能,使得这款思维导图软件越来越受到职场人士的喜爱. 不仅是作为制作思维导图的 ...