JNDI连接数据库,用户无访问权限问题

07-06-28 yekongda
彭老师:
前几天问你个JNDI连接数据库用户无访问权限问题,按您说的方法授权后还是不行。小弟重新装次Mysql数据库直接使用超级用户root,新建个数据库。
部署后运行报错22:32:46,359 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Invalid authorization specification, message from server: "Access denied for user 'nobody'@'localhost' (using password: NO)")
小弟不知道nobody这个用户是哪里定义的?
在mysql中执行grant all privileges on *.* to 'nobody'@'localhost'授权语句后重新运行后报错23:27:34,578 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean userForm in any scope
虽然还有错,是不是可以证明自定义的JNDI已经连接上数据库了,只不过是JSP的错误了。
为什么直接在root下新建数据库还要用户授权呢??小弟初学者这点小问题一而再的麻烦彭老师,真是不好意思!

banq
2007-06-29 09:48
两步自己核对:
1.数据库执行:
GRANT ALL PRIVILEGES ON *.* TO banq@127.0.0.1 IDENTIFIED BY '数据库密码' WITH GRANT OPTION;
其中banq为数据库访问用户名,可任意指定。数据库密码也可任意指定。

2.修改jboss/server/default/deploy/mysql-ds.xml,
需要修改数据库的用户名和密码,这一步的用户名和和密码就是上一步的:
<user-name>你的数据库用户名</user-name>
<password>你的数据库密码</password>
3. 密码不能为空。

yekongda
2007-07-02 08:33
麻烦您了彭老师,小弟明白了,谢谢。