当前登录linux的用户有权限操作mysql数据库吗?楼主可以测试一下直接通过applicatoin来连接就可以证明这个问题了?楼主的Tomcat和mysql是用什么系统用户安装的?

解决方案 »

  1.   

    楼主,如果是在本机连接的话,不要用你的计算机名字,也不要用Localhost这个字符串,直接用127.0.0.1就可以了,或者你设置了IP的话,用你那个IP就行了,出现这样的原因很有可能是你的数据库用户在MYSQL里面没有授权,所以就连不上了,你可以看一下MYSQL中的MYSQL库USER表,看一下那里的记录。
    下面的是我自己机器上的,楼主可以参考一下:
    +-----------+------+-------------------------------------------+
    | host      | user | password                                  |
    +-----------+------+-------------------------------------------+
    | localhost | root | *09FBAB7D643558B8376123A3683A63C9DC3A30BC |
    | grande    | root |                                           |
    | %         | root | *09FBAB7D643558B8376123A3683A63C9DC3A30BC |
    +-----------+------+-------------------------------------------+
      

  2.   

    数据库授权的问题,默认情况下,Mysql是不能远程连接的,你要在Mysql服务器上做用户授权。
      

  3.   

    建议:
    1、mysql中root默认密码是为空,检查是否更改,以及你在程序中的密码是否与数据库中设置一致。
    2、mysql的权限是这样分的,每个用户名的全称应该包含这个用户所在的主机名(或者域名),也就是说你的root用户可能是root@localhost,或者root@%,前者表示root只能在本机上登陆,后者表示root只能在非本机上登陆,如果在本机上登陆肯定是access denied root@sei ,相反,如果你是root@localhost ,而你在非本机上登陆,也是同样的错误。
    3、你可以先下载个linux版的mysqlcc(mysql网站),然后在里面连接,这样比用程序测试要方便的多了N倍。用程序用时候很郁闷的。
      

  4.   

    mysql这么讲究?
    权限控制怎么这么罗嗦?比oracle罗嗦多了!
    这样做有什么好处?不明.....
    学习中!
    另外,如果我的主机名就是sei,而且我就连接本机的数据库,那么用root@sei不行吗?难道非得用root@localhost?听上面的说法
      

  5.   

    关注的说
    偶还打算在linux上安装mysql呢
      

  6.   

    也不是不行,如果在Linux或是Unix你没有配置你的计算机名字到IP的映射,那就是不行,有很多东西在Linux和Windows下面是不一样的。
      

  7.   

    sei是LINUX上的用户吧,
    应该是你对MYSQL上的用户可能搞混了,MYSQL本地和远程访问的帐号和密码是不同的。建议你用工具MySQL-Front,如果帐号和密码正确,就能对数据库进行管理,包括修改帐号和密码。
    你能在windows下连到LINUX的数据库,则可以把连接串改为jdbc:mysql://LINUX的IP/testdb,帐号和密码为你登陆成功的;