mysql报错: Access denied for user 'root'@'localhost'

时间:2022-10-20 19:22:44
我写的代码需要以下三个jar包
commonscollections-3.1.jar
commons-dbcp-1.2.2.jar
commons-dbcp-pool.jar
在创建数据库连接池的时候需要从配置文件jdcpconfig.properties读取字段信息 :
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbc
username=root
password=root 


运行时的错误整行信息
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YES))

查了很久,都说是MySQL的用户名密码错误,我看这个错误信息是密码是对的,就是用户名出错,看apache的在线API,它说以后的2.0版本会修正它,也就是说它是个bug

按照网上给的修正方法,先停掉MySQL服务, 用 cmd 进入MySQL安装路径的bin目录下,执行下面这个命令后,修改密码就可,可是
C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
我一运行这个命令,马上就报异常:    Access denied for user 'root'@'localhost'
根本就无法修正

这个错误我查遍了各个资料,无法解决我的问题,望各位遇到过该问题的人帮忙看看

13 个解决方案

#1


难道你改了系统表
按如下步骤操作下,然后贴图上来看看
mysql -uroot -p -hlocalhost
use mysql
select host,user from user;

#2


mysql-connector-java-5.0.4-bin.jar有吗

#3


C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -p -hlocalhost
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

C:\Program Files\MySQL\MySQL Server 5.1\bin>

#4


反正不管怎么弄,它就是告诉我localhost不能用

#5


不好意思,刚刚那个错误是因为没有启动MySQL服务器
这次启动了之后,输入密码,进入数据库,查询表完全正常,但是一运行我那个程序,还是出现这样的错误

#6


试试把localhost改成127.0.0.1

#7


C:\Documents and Settings\Administrator>mysql -uroot -p -127.1.1.0
mysql: unknown option '-1'

然后我又换了自己的内网IP 

C:\Documents and Settings\Administrator>mysql -uroot -p -192.168.1.100
mysql: unknown option '-1'

我已经无语了

#8


-h啊

#9


C:\Documents and Settings\Administrator>mysql -uroot -p -h127.1.1.0
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on '127.1.1.0' (10061)

#10


C:\Documents and Settings\Administrator>mysql -uroot -p -h127.0.0.1
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (10061)

#11


命令行中输入
telnet 127.0.0.1 3306,看能不能连接

#12


能加我QQ么?这样回复太费劲了..
我的QQ 179657283
刚刚那个telnet命令我试过了,他说端口号错误

#13


同问。。。兄弟你的这个问题解决了么???我现在也遇上了,几天都在找答案。。。好郁闷啊!!!

#1


难道你改了系统表
按如下步骤操作下,然后贴图上来看看
mysql -uroot -p -hlocalhost
use mysql
select host,user from user;

#2


mysql-connector-java-5.0.4-bin.jar有吗

#3


C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -p -hlocalhost
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

C:\Program Files\MySQL\MySQL Server 5.1\bin>

#4


反正不管怎么弄,它就是告诉我localhost不能用

#5


不好意思,刚刚那个错误是因为没有启动MySQL服务器
这次启动了之后,输入密码,进入数据库,查询表完全正常,但是一运行我那个程序,还是出现这样的错误

#6


试试把localhost改成127.0.0.1

#7


C:\Documents and Settings\Administrator>mysql -uroot -p -127.1.1.0
mysql: unknown option '-1'

然后我又换了自己的内网IP 

C:\Documents and Settings\Administrator>mysql -uroot -p -192.168.1.100
mysql: unknown option '-1'

我已经无语了

#8


-h啊

#9


C:\Documents and Settings\Administrator>mysql -uroot -p -h127.1.1.0
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on '127.1.1.0' (10061)

#10


C:\Documents and Settings\Administrator>mysql -uroot -p -h127.0.0.1
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (10061)

#11


命令行中输入
telnet 127.0.0.1 3306,看能不能连接

#12


能加我QQ么?这样回复太费劲了..
我的QQ 179657283
刚刚那个telnet命令我试过了,他说端口号错误

#13


同问。。。兄弟你的这个问题解决了么???我现在也遇上了,几天都在找答案。。。好郁闷啊!!!