日期:2014-05-20  浏览次数:20727 次

数据库权限的问题
我用的是 SQLyog管理的 Mysql数据库,在SQLyog有game_srv_db和test这两个数据库。我用Mybatis访问test数据库中sign表的时候没有问题,然后我改访问game_srv_db中的数据表sign却不行。报错如下:


Exception in thread "Main Thread" org.apache.ibatis.exceptions.PersistenceException
### Error opening session. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'game_srv_db'
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'game_srv_db'
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSessionFromDataSource(DefaultSqlSessionFactory.java:83)
at org.apache.ibatis.session.defaults.DefaultSqlSessionFactory.openSession(DefaultSqlSessionFactory.java:32)
at tq.server.signin.service.SigninService.selectOneByid(SigninService.java:32)
at MySignin.main(MySignin.java:18)

  我估计可能是数据库权限的问题,请教如何更改game_srv_db的权限?或者是其他问题?

  求教!!!如有回复不胜感激。

------解决方案--------------------
1.LZ的database 是,'game_srv_db',用户名好像是空吧。


2. 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。 grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; ON 子句中*.* 说明符的意思是“所有数据库,所有的表