mysql Access denied for user 'root'@'localhost' (using password:YES)解决方法

先说下自己遇到的情况吧 (把原先在别的机子上运行OK的项目Import到自己的Myeclipse中)

测试时 居然提示 mysql Access denied for user(using password:YES)

百度后 仍未解决

1、检查驱动、密码 
2、检查端口是否被占用 
3、重装MYSQL

后来发现项目中没有Builder-path  mysql 的jar包 实在是太大意了 后来就可以访问了

现将出现此问题的解决大致列一下 方便以后查找

下面是网络上的一些解决方法

方法一:
# /etc/init.d/mysql stop 
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
# mysql -u root mysql 
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 
# /etc/init.d/mysql restart 
# mysql -uroot -p 
Enter password: <输入新设的密码newpassword> 
mysql> 
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: 
# mysql -udebian-sys-maint -p 
Enter password: <输入[client]节的密码> 
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 
# mysql -uroot -p 
Enter password: <输入新设的密码newpassword> 
mysql> 


Windows:

方法1:

1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程
2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行
3. 运行 d:\mysql\bin\mysqld-nt --skip-grant-tables 启动mysql,关闭权限的检查
4. 运行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码 我用这个方法解决的,重设了下密码
5. 重新启动mysql服务
有一疑问就是 在我的mysql目录中居然没有找到mysqld-nt
第4步也可以直接修改mysql表,所用到的SQL语句同linux部分,这里就不再重复了.

方法2:

到WINDOWS的命令行了(‘DOS’ 下),切换到你的MySQL bin目录下。 比如我的是 C:\Program Files\MySQL\MySQL Server 5.1\bin
然后敲下面的粗体的命令。注意你的my.ini位置。

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqld  --defaults-file="C:\Program
Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables

090515 22:06:09 [Warning] The syntax '--log' is deprecated and will be removed i
n MySQL 7.0. Please use '--general_log'/'--general_log_file' instead.
090515 22:06:09 [Warning] The syntax '--log_slow_queries' is deprecated and will
  be removed in MySQL 7.0. Please use '--slow_query_log'/'--slow_query_log_file'
instead.
090515 22:06:09 [Warning] The syntax '--log' is deprecated and will be removed i
n MySQL 7.0. Please use '--general_log'/'--general_log_file' instead.
090515 22:06:09 [Warning] The syntax '--log_slow_queries' is deprecated and will
  be removed in MySQL 7.0. Please use '--slow_query_log'/'--slow_query_log_file'
instead.
090515 22:06:09 [ERROR] The update log is no longer supported by MySQL in versio
n 5.0 and above. It is replaced by the binary log. Now starting MySQL with --log
-bin='' instead.
090515 22:06:09  InnoDB: Started; log sequence number 0 324221
090515 22:06:09 [Note] mysqld: ready for connections.
Version: '5.1.33-community-log'  socket: ''  port: 3306  MySQL Community Server
(GPL)

看到这个结果就说明MySQL已经起来了。
再开一个DOS窗口,同样切到mysql bin目录下,
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.33-community-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

到这,你就继续按 方法一:操作就行。update完表后,退出,

然后
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqladmin shutdown

之后正常重启MySQL服务就行了。

以上解决方法全部来源于互联网 能否真的解决问题 自己没有验证过 只是做下总结

 

如果下载了就把驱动包添加到你的类路径上,在myeclipse里在你的工程里有个Refrence Library,右键然后build path,进入对话框后按add external jar按钮,然后导入你的驱动包就OK

 

http://blog.sina.com.cn/s/blog_81547cad01014rn7.html

猜你喜欢

转载自284772894.iteye.com/blog/2159438
今日推荐