bitronix 连接 mysql 出现mysqlsyntaxerrorexception 的解决方法
1. 开发环境
hibernate 版本:5.1.0.final
bitronix btm 版本:2.1.3
2 异常堆栈信息
caused by: com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: access denied for user ''@'localhost' to database 'hibernate' at sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) at sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:62) at sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) at java.lang.reflect.constructor.newinstance(constructor.java:423) at com.mysql.jdbc.util.handlenewinstance(util.java:377) at com.mysql.jdbc.util.getinstance(util.java:360) at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:978) at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3887) at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:3823) at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:870) at com.mysql.jdbc.mysqlio.proceedhandshakewithpluggableauthentication(mysqlio.java:1659) at com.mysql.jdbc.mysqlio.dohandshake(mysqlio.java:1206) at com.mysql.jdbc.connectionimpl.coreconnect(connectionimpl.java:2234) at com.mysql.jdbc.connectionimpl.connectonetryonly(connectionimpl.java:2265) at com.mysql.jdbc.connectionimpl.createnewio(connectionimpl.java:2064) at com.mysql.jdbc.connectionimpl.<init>(connectionimpl.java:790) at com.mysql.jdbc.jdbc4connection.<init>(jdbc4connection.java:44) at sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) at sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:62) at sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) at java.lang.reflect.constructor.newinstance(constructor.java:423) at com.mysql.jdbc.util.handlenewinstance(util.java:377) at com.mysql.jdbc.connectionimpl.getinstance(connectionimpl.java:395) at com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:325) at bitronix.tm.resource.jdbc.lrc.lrcxadatasource.getxaconnection(lrcxadatasource.java:104) ... 33 more
3 分析问题
很明显是因为没有访问 mysql 数据库的权限,导致访问被拒绝。
打开代码一看,果然是这样,代码里没有提供访问数据库的账号和密码嘛
ds.setclassname("bitronix.tm.resource.jdbc.lrc.lrcxadatasource"); ds.getdriverproperties().put( "url", connectionurl != null ? connectionurl : "jdbc:mysql://localhost:3306/hibernate?useunicode=true&characterencoding=utf-8&zerodatetimebehavior=converttonull" ); properties dp=ds.getdriverproperties(); dp.put("driverclassname", "com.mysql.jdbc.driver"); ds.setdriverproperties(dp);
4 解决问题
赶紧加上,问题解决 o(∩_∩)o~
... dp.put("user","root"); dp.put("password",""); ... ds.setdriverproperties(dp);
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
如对本文有疑问, 点击进行留言回复!!
SSD原理及Pytorch代码解读——网络架构(二):特征提取网络及总体计算过程
集合类 ArrayList 和 LinkedList 直接用 Innodb(MySQL 5.0
网友评论