2008-05-13 15:36:44,658 WARN (SettingsFactory.java:117) - Could not obtain connection metadata
java.sql.SQLException: Server connection failure during transaction.
Due to underlying exception: 'java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)'.
-----------------------------------------------------------------------------------------------------是Linux+Tomcat+MySQL部署程序.
客户端可以访问数据库,
自己写的程序也可以查询数据库,
root用户权限都给了,但不能获得数据库连接,以下是部署文件内容:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/workplat?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8" /> <property name="username" value="root" /> <property name="password" value="1" /> </bean>
java.sql.SQLException: Server connection failure during transaction.
Due to underlying exception: 'java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)'.
-----------------------------------------------------------------------------------------------------是Linux+Tomcat+MySQL部署程序.
客户端可以访问数据库,
自己写的程序也可以查询数据库,
root用户权限都给了,但不能获得数据库连接,以下是部署文件内容:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/workplat?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8" /> <property name="username" value="root" /> <property name="password" value="1" /> </bean>
[align=center]==== 思想重于技巧 ====
[/align]
-bash-3.00$ mysql -u root -p
Enter password: 1
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.41-logType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> grant all on *.* to root@"%" Identified by "1";
Query OK, 0 rows affected (0.00 sec)mysql>
[align=center]==== 思想重于技巧 ====
[/align]
我是用的SQLYog远程连接MYSQL服务器
客户端是可以连接上,密码可以肯定是正确的,但修改数据时不能获得连接, 访问否认为用户‘root'@'localhost’使用密码。权限都给了,不知道是什么原因!请指导!
密码,权限都有了,为何访问被拒绝.2008-05-13 14:56:56,467 WARN (SettingsFactory.java:117) - Could not obtain connection metadata
java.sql.SQLException: Server connection failure during transaction. Due to underlying exception: 'java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)'.
mysql> SELECT user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| hb | % | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| root | % | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| plat | % | *4070D183DE69A1433F9FD15CCF82D2643C084A18 |
| b | localhost | *F33AE6DD04EF4C7C1D3105568E7FB7C1EE16C937 |
+------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)mysql>
mysql> SELECT user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
¦ user ¦ host ¦ password ¦
+------+-----------+-------------------------------------------+
¦ hb ¦ % ¦ *E6CC90B878B948C35E92B003C792C46C58C4AF40 ¦
¦ root ¦ % ¦ *E6CC90B878B948C35E92B003C792C46C58C4AF40 ¦
¦ plat ¦ % ¦ *4070D183DE69A1433F9FD15CCF82D2643C084A18 ¦
¦ b ¦ localhost ¦ *F33AE6DD04EF4C7C1D3105568E7FB7C1EE16C937 ¦
+------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)mysql>
没有看到你的user 为root HOST为LOCALHOST的
user 为root HOST为LOCALHOST的
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| hb | % | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| root | % | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| root | localhost | *E6CC90B878B948C35E92B003C792C46C58C4AF40 |
| plat | % | *4070D183DE69A1433F9FD15CCF82D2643C084A18 |
| b | localhost | *F33AE6DD04EF4C7C1D3105568E7FB7C1EE16C937 |
+------+-----------+-------------------------------------------+
5 rows in set (0.00 sec)
打开"MySQL Server Instance Config Wizard" (开始/程序/mysql一直找下去)
走到用户密码设置的时候 不要在复选Enable root access from remote machines然后再一直走下去
当然其他各步设置请与以前的配置保持一致,不要简单地按下next做完之后
mysql控制台,进行重新分配权限操作mysql>Grant all on *.* to 'root'@"%" identified by "xxxx" with grant option;终于
一切都好用了
我也是按照你的方法
但是没有重新分配权限String url ="jdbc:mysql://localhost/first";
Connection conn= DriverManager.getConnection(url,"root","lsg123");//first 是我的数据库名称,url为数据库的地址,root为MySQL数据库登陆的用户名 ,lsg123为密码,密码就是你登陆mysql控制台的密码这样 就可以了