本地web项目部署到服务器里连接不上数据库的解决办法

  今天突然想到把自己之前的项目挂到服务器上,但是用到了数据库,于是给服务器装上了MySQL,想着能赶紧把项目挂上去看看效果,然后并不是一帆风顺,在奋斗了四小时后终于解决了问题的所在。

  (1)首先我找到了自己的期中考试题目,志愿者系统的增删改查。在装好数据库后我立刻将自己的项目打包并且放到tomcat里边,于是问题来了。

  项目是在我本地写的,与数据库的连接当然也是本地的,所以,注册驱动时应该使用服务器对应的IP,服务器上数据库的用户和密码,而我还是用的本机上的东西。

 这是更改完的配置信息。

  (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;

猜你喜欢

转载自www.cnblogs.com/wuren-best/p/11985390.html