某次在导入新项目时候出现异常:
1.

2017-11-13 10:50:55,437 [WARN]-[org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:204)] HHH000342: Could not obtain connection to query metadata : Access denied for user 'root'@'localhost' (using password: YES)
HHH000342: Could not obtain connection to query metadata : Access denied for user 'root'@'localhost' (using password: YES)

项目使用的框架是spring 和 jpa,连接池使用c3p0,
以上问题可能有以下原因造成:
1,驱动配置有误:driver=com.mysql.jdbc.Driver
2,数据库连接地址有误:url=jdbc:mysql://localhost:3306/test?3useUnicode=true&characterEncoding=utf8
3,密码或帐号有误:username=root password=root
4,数据库未启动或无权访问
5,项目未引入对应的驱动jar包mysql-connector-java-5.x.x-bin.jar
6,mysql root没有远程访问的权限,需要增加权限,增加权限的步骤如下:
进入mysql数据库:
grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
flush privileges;

将以上步骤都做完后,发现还是没有解决问题。

然后重新查看配置文件,在applicationContext.xml中数据库连接池的配置是这样的:

<context:property-placeholder location="classpath:db_dev.properties"/><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driverClass}"/><property name="jdbcUrl" value="${jdbc.jdbcUrl}"/><property name="user" value="${jdbc.user}"/><property name="password" value="${jdbc.password}"/><property name="initialPoolSize" value="${jdbc.initPoolSize}"/><property name="maxPoolSize" value="${jdbc.maxPoolSize}"/></bean>

看到这个正常反应是配置应该都在properties里面了,可是修改properties也是出现一样的问题。

之后无意在resources文件夹下发现有个META-INF的文件夹,打开发现有个配置文件persistence.xml,里面的配置如下:

<?xml version="1.0"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"><persistence-unit name="persistenceUnit" transaction-type="RESOURCE_LOCAL"><properties><property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /><property name="hibernate.connection.driver_class" value="org.gjt.mm.mysqlDriver" /><property name="hibernate.connection.username" value="root" /><property name="hibernate.connection.password" value="!Cascade020" /><property name="hibernate.connection.url" value="jdbc.mysql://localhost:3306/mmscm"/><property name="hibernate.max_fetch_depth" value="3" /><property name="hibernate.show_sql" value="true" /><!--<property name="hibernate.hbm2ddl.auto" value="create-drop"/>--></properties></persistence-unit>
</persistence>

看到这个<persistence-unit name="persistenceUnit"觉得有点眼熟,所以重新查看applicationContext.xml里面的配置,发现有一个这样的配置:

<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"id="entityManagerFactory"><property name="persistenceUnitName" value="persistenceUnit" /><property name="dataSource" ref="dataSource" /><property name="jpaVendorAdapter" ref="jpaVendorAdapter" /><property name="packagesToScan" value="com.csl.mmscm.model.*" /></bean>

看到这里后,觉得数据库的配置很有可能是使用了persistence.xml里面的配置来连接数据库的,然后修改了里面的配置,重新运行Tomcat,然后发现报错没有了,打开首页,也能成功登录了,问题解决了。

总结:搭建框架环境之类的,配置方面的文件需要全部查看清楚,尤其是其他人搭配好的项目,更需要仔细查看所有的配置文件。

我开始就是只是看了applicationContext.xml,其他的都没有看。万万没想到居然有两个关于数据库连接的配置,所以还是得细心。

转载于:https://www.cnblogs.com/jimloveq/p/10609471.html

Access denied for user 'root'@'localhost' Could not obtain connection相关推荐

  1. 转: windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost'

    windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost' 转自 http://zxy5241.space ...

  2. MySQL登录时ERROR 1045:Access denied for user ‘root’@’localhost’ (using password: YES)

    MySQL登录时ERROR 1045错误 win10_x64系统中登录MySQL时出现1045错误 错误描述: ERROR 1045:Access denied for user 'root'@'lo ...

  3. MariaDB/MySQL 报错解决:ERROR 1698 (28000): Access denied for user 'root'@'localhost'

    我在安装好MariaDB后,发现一个问题:我必须用root用户才能登录数据库,普通用户不能登录数据库,会报错: -> % mysql -h localhost -u root -p Enter ...

  4. HikariPool使用MySQL/MariaDB数据库报错解决:java.sql.SQLException: Access denied for user 'root'@'localhost' (u

    在使用HikariPool连接到我的数据库时报错如下,完整的报错放在最后: 2019-06-25 20:24:26.048 ERROR 18204 --- [nio-8080-exec-9] com. ...

  5. Linux mysql 5.6: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (usin

    Linux mysql 5.6: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass... 时间 201 ...

  6. MySQL在登陆时出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误...

    错误显示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方案: 1.找到配 ...

  7. Access denied for user ‘root‘@‘localhost‘ (using password:YES) 解决方案

    Access denied for user 'root'@'localhost' (using password:YES) 解决方案 参考文章: (1)Access denied for user ...

  8. Access Denied for user root @localhost 解决方案

    Access Denied for user root @localhost 解决方案 参考文章: (1)Access Denied for user root @localhost 解决方案 (2) ...

  9. 数据库异常 :java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    数据库异常 :java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 参考文章: ...

  10. mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法

    mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法 参考文章: (1)mysql出现ERROR1698(28000) ...

最新文章

  1. 计算机开不开机是什么原因是什么原因,电脑开不了机的原因,详细教您电脑开不了机怎么办...
  2. metadata model entry in /IWFND/CL_MED_MDL_SVC_GRP
  3. 2019 ICPC 南京网络赛 F Greedy Sequence
  4. android程序设计activity,《Android编程权威指南》之第二个activity
  5. videoleap怎么导出本地_Pr导出视频时,如何调节视频文件大小?
  6. c语言浮点型常量表示平均数_数据类型与常量、变量解析
  7. 洛谷 P3807 【模板】卢卡斯定理
  8. Expert C Programming学习笔记(1)
  9. VBS 拷贝 注册表键值
  10. linux如何远程装java_使用Shell远程给Linux安装JDK
  11. 如何在表格中批量查询号码归属地?
  12. 数据组织与存储(一)
  13. java中wgs84转高德_2020-06-11关于WGS84 高德坐标 百度坐标的相互转换
  14. linux系统显示无法挂载,linux中的mount系统调用无法通过df命令显示文件系统的挂载点...
  15. SX1278 FSK 调试记录
  16. JFinal在线官方文档
  17. webgis中的比例尺实现
  18. java 计算圆周率_java程序计算圆周率
  19. Eclipse插件开发GEF
  20. 文库网站建设源码分享

热门文章

  1. python 模拟键盘_Python模拟键盘输入和鼠标操作
  2. 前景检测算法(十一)--基于LBP纹理
  3. DSP之时钟与定时器之一时钟发生器
  4. C语言:编写一个函数,计算二维数组中的最大元素,数组以指针的方式传递
  5. html怎么保存曲奇,曲奇烘焙不可不知的小技巧,烘焙出绝对赞的口感!
  6. 命令式编程面向算法vs声明式编程面向描述
  7. centos下docker无法正常启动检查与解决方法
  8. 微信小程序如何突破模板消息限制,获取多个formId?
  9. 洛谷 3373 【模板】线段树 2
  10. 利用nexus搭建maven库并利用AS上传aar