mysql密码丢失后重设密码的方法(Unix&Linux&winxp)
今天在使用本地电脑架设的(Apache +apephp+mysql)环境,发现我已经忘了mysql的密码了。
于是到网上搜了下如何在忘了mysql密码后如何重设mysql密码。
这是在网上搜到的解决方法:
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。
修改方法:
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
Windows:
1.用系统管理员登陆系统。
2.停止MySQL的服务。
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:/mysql,进入C:/mysql/bin
4.跳过权限检查启动MySQL,
c:/mysql/bin>;mysqld-nt --skip-grant-tables
5.重新打开一个窗口,进入c:/mysql/bin目录,设置root的新密码
c:/mysql/bin>;mysqladmin -u root flush-privileges password "newpassword"
c:/mysql/bin>;mysqladmin -u root -p shutdown
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6.停止MySQL Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
下面是我实际解决mysql密码丢失后重设密码的过程(我用的是windows xp系统):
windows下忘记Mysql密码处理方法
首先k掉Mysql进程
开始-运行cmd-net stop mysql
接着切换到mysql下bin目录(比如我的在D盘mysql)
cd..
cd..
d:
cd mysql
cd bin
切换到了mysql下bin目录
现在用另外一种方式启动MYSQL
mysqld-nt --skip-grant-tables
启动mysql,切忌关闭这个CMD窗口
现在另外开一个CMD窗口切换到MYSQL下BIN目录
方法同上
然后启动MYSQL
mysql -uroot
启动Mysql后,打开mysql这个数据库,这个数据库里user表存储了root密码
命令如下
use mysql;(打开mysql这个数据库)注意分号
会有提示的
然后update user set password=password("webos") where user="root";(这儿的分号一定要,第一次我就这忘记了,折腾了半小时)
然后会有提示
然后exit
出现bye后 关掉两个cmd窗口
打开任务管理器 结束mysql-nt.exe进程
然后重新启动Mysql
可以开始-管理工具-服务-启动Mysql
或者开始cmd net start mysql启动Mysql
这样你的新密码就是webos了
oK.......