Access denied for user'admin'@'localhost' to database 问题的解决

来源:互联网 发布:使命召唤9剧情分支知乎 编辑:程序博客网 时间:2024/05/22 14:44

  拷了一个案例想研究研究,数据库和Web应用都部署好了,启动Tomcat时却出现了问题:

报了异常:SQLException:Access denied for user'admin'@'localhost' to database

 一看就知道是数据库的问题,而且猜测和user有关,把实例的资料又看了一下,发现是数据库用户的问题,当初装MySql时为了开发方便,全用的是默认的root用户名和密码,但这个例子上说的是“安装MySql时请使用用户名admin和密码111”

Faint...难道让我重新安装数据库不成?(大家不要笑哈,作为一只刚学会走路的小菜鸟,我对数据库了解甚少,只会用几个简单的命令)但是凭感觉,我觉得一定有其他办法,最简单的就是把这个案例中使用的用户名和密码改一下不就得了,呵呵

说干就干,谁知道找了半天也找不到,它用的是proxool数据库连接池,我还是第一次接触,发现这东西封装的实在太好了,竟然找不到写连接时使用的用户名和密码的代码,明明已经看到出现了

private static String proxool = "org.logicalcobwebs.proxool.ProxoolDriver";   

private static String poolname = "proxool.mingri";

崩溃,下面不知道该往哪里找了,翻了N多个源码,驴唇不对马嘴。最后还到xml文件里仔细看了看,也没有,我可是真的郁闷了,难道他把代码写进了数据库文件里,不可能吧?

最后只好放弃,改走另一条路,把数据库里的用户名和密码给改了算了,郁闷呀。不过一查资料才发现,原来数据库下面也可以再建新用户啊,汗!又是上网查又是翻书,试了N次均告失败,估计是版本不对吧,怎么别人写的命令我修改后用不了啊。。

最后不知怎么转到了,MySql的官网上,全是英文文档,不过还好能看懂点,Copy了命令修改后一用,呵呵,果然有效啊

 MySql官网

新建用户admin密码为111,权限为对数据库mingri的SELECT,INSERT,UPDATE,DELETE,CREATE,DROP //
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
      ON mingri.*
      TO
admin@localhost
      IDENTIFIED BY '111';

GRANT ALL PRIVILEGES ON *.*  TO 'administrator'@'localhost' IDENTIFIED BY 'admin'  WITH GRANT OPTION;