昨天连数据库没有问题,但是今天连接数据库就报这个错误了,
一般这个错误是由密码错误引起,解决的办法自然就是重置密码。
网上也搜了不少的方法,有一个方法解决了我的问题。我的环境是Linux
步骤:首先需要跳过密码认证,在Linux环境中找到/etc/my.cnf文件,在文件中找到mysqld,在mysqld下边加上skip-grant-tables语句,这样的话就避过密码验证了,然后重启mysql,/etc/init.d/mysqld restart,进行密码的修改,
在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:
保存文档并退出:
#:wq
2.接下来我们需要重启MySQL:
/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)
3.重启之后输入#mysql即可进入mysql。
4.接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
网上有很多关于这个问题的解决说明,很多刚接触的朋友可能比较迷惑的是在自己的平台上找不到my.cnf或者my.ini文件,如果你是Linux,使用如下方式可以搜索到:
如果你是服务器是 windows xp/2000/2003/nt 都可以使用这个方法来找回丢失 MYSQL超级管理员root的密码
如果施win7 win vista,mysql 5.1后的版本中好像没有mysqld-nt.exe,则直接利用mysqld.exe代替即可。
1,停止MYSQL服务,CMD打开DOS窗口(win7、winVista右键“用管理员账户运行”),输入 net stop mysql
2,在CMD命令行窗口,进入MYSQL安装目录 比如C:\Program Files\MySQL\MySQL Server 5.1\bin
方法:cd\ 按enter后输入:cd C:\Program Files\MySQL\MySQL Server 5.1\bin
3,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。
命令为: mysqld-nt --skip-grant-tables
(win7好像有错,我没管直接跳过,)
4,重新打开一个CMD命令行窗口,进入...\bin下,,输入mysql -uroot -p,使用空密码的方式登录MySQL(不用输入密码,直接按回车)
5,输入以下命令开始修改root用户的密码(注意:命令中mysql.user中间有个“点”)
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';
6,刷新权限表
mysql> flush privileges;
7,退出
mysql> quit
这样MYSQL超级管理员账号 ROOT已经重新设置好了,接下来 在任务管理器里结束掉 mysql-nt.exe 这个进程,重新启动MYSQL即可!(也可以直接重新启动服务器)
MYSQL重新启动后,就可以用新设置的ROOT密码登陆MYSQL了!
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛