mysql的root密码丢失重置之ERROR 1045 (28000)
最新版的5.5.15的mysql在windows下安装到是蛮顺利(还支持至强cup不错不错),不过老是提示我root不对,在我登录的时候,另我十分崩溃,
在我重置了几次密码,依然无效的情况下,我崩溃了,准备换掉Windows系统,无意中打了系统的补丁,再卸载重新安装,居然好了,至今不知道是补丁的问题,还是重装的问题!
告诫下,下载再给windows装软件的时候最好更新下补丁包,省得出现此种怪事
命令行的一闪而过,可以cd到安装目录的bin下执行mysql遭遇:ERROR 1045 (28000): Access denied for user ‘root’@'localhost’ (using password: YES)解决之道
一.以系统管理员身份登入windows系统。
2.如果mysql是启动的,先将它关闭。
3.打开命令视窗cmd。
如果在上一步骤,没有关闭mysql,可以用net start 查看mysql是否还在启动状态。在启动状态的话,就用net stop mysql的指令停止。
4.切换到mysql的安装路径的bin资料夹内,如果是预设路径,应该在的D:\MySQL\MySQL Server 5.5.15\bin之下。
5.执行mysqld –skip-grant-tables,这个指令用以启动mysql,但会跳过权限检查。
6.上个指令执行完后,命令视窗就停在mysql的运行状态,不能再输入指令了,所以要重新打开一个新的cmd命令视窗。
同样切换到mysql的安装路径的bin资料夹内,执行mysql
7.在mysql>的模式下,执行
代码如下 | |
update mysql.user set password=PASSWORD(’123456′) where user=’root’; flush privileges; quit; |
上面的步骤就可将忘记的密码重设。
8.回到dos命令模式,执行mysqladmin -u root -p shutdown,输入刚改过的密码123456。关掉目前mysql无权限的模式。
9.再正常启动mysql。
10.再输入 mysql -u root -p
就可以输入你的正确的密码了
二.Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用–skip-grant-tables参数启动MySQL Server
代码如下 | |
shell>;mysqld_safe –skip-grant-tables &(写全路径) |
4.为root@localhost设置新密码
代码如下 | |
shell>;mysqladmin -u root flush-privileges password “newpassword”,或直接进入mysql表中修改Password 如: >;use mysql >;update user set password=password(“new_pass” where user=”root”; >;flush privileges; |
5.重启MySQL Server