本地MySQL密码忘了,怎么找回?
1、以管理员的身份打开cmd,然后跳过权限启动mysql,命令:xxx --skip-grant-tables 前面是mysql配置文件的位置,然后回车。
2、新打开个cmd窗口,进入到mysql配置文件目录bin下,然后输入 mysql -uroot -p 再回车,这步是以空密码进入mysql。
3、空密码进入mysql后,如果前面都设置正确的话,这步显示的界面是Welcome to the MariaDB monitor。
4、然后可以show database; 查看当前的数据库,回车后会列举出当前数据库的列表。
5、然后执行命令:update user set password=password('新密码') where user='root'; 并回车,其中括号中的就是将要设置的新密码。
6、执行完后会提示你 Query OK,表示执行成功了,再用新密码登录就可以了。
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\bin目录。
3.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5.输入mysql回车,如果成功,将出现MySQL提示符 >
6. 连接权限数据库>use mysql; (>是本来就有的提示符,别忘了最后的分号)
6.改密码:> update user set password=password("520") where user="root"; (别忘了最后的分号)
7.刷新权限(必须的步骤)>flush privileges;
8.退出 > \q
9.注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
第一步
C:\Documents and Settings\Administrator>cd D:\web\www.php100.com\Mysql\MySQL Se
rver5.5\bin
C:\Documents and Settings\Administrator>d:
D:\web\www.php100.com\Mysql\MySQL Server5.5\bin>mysqld --skip-grant-tables
第二步
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>cd D:\web\www.php100.com\Mysql\MySQL Se
rver5.5\bin
C:\Documents and Settings\Administrator>d:
D:\web\www.php100.com\Mysql\MySQL Server5.5\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.10 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Database changed
mysql> update user set password=password("520") where user="root";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye
D:\web\www.php100.com\Mysql\MySQL Server5.5\bin>
2. 转到mysql\bin目录: cd C:\program files\mysql\bin;
3. 输入mysqld --skip-grant-tables 回车。 --skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了,也不能关闭)。转到mysql\bin目录: cd C:\program files\mysql\bin;
5. 输入mysq l回车,如果成功,将出现mysql >
6. 链接权限数据库:use mysql;
7. 改密码:update user set password=password("admin") where user="root";(别忘了最后加分号)
8. 刷新权限(必须步骤):flush privileges;
9. 退出 quit。
10. 注销系统,再进入。dos下,net start mysql,net mysql -uroot -padmin可以登录。
MySQL密码通常保存在mysql数据库中,我们可以在访问数据之后,使用如下指令进行查看;
// 登录,按照提示输入密码
mysql -u root -p
// 查看user表的数据就可以看到密码,但通常情况下密码是加密存放的
mysql> select host,user,password from mysql.user;
但是当忘记了密码就需要进行密码修改,方法如下:
一、进入MySQL
Linux 环境
修改/etc/my.conf,在[mysqld]下增加skip-grant-tables,
修改完毕之后,重启mysql,输入如下指令:service mysqld restart 重启mysql服务
直接在终端输入mysql即可直接登录mysql。
Windows环境
在任务管理器中手动关闭mysql进程,或者在cmd中输入taskkill /f /im mysqld-nt.exe
带命令的方式重启mysql,就可以直接进入mysql,启动指令如下:
mysqld-nt –skip-grant-tables
新开一个命令行运行:mysql -u root
二、修改密码,使用如下2种方法都可以。
1. set password命令方式
// 格式:mysql> set password for 用户名@localhost = password('新密码');// 例子:mysql> set password for root@localhost = password('123');
2. 用update直接编辑user表,指令如下:
mysql> use mysql;mysql> update user set password=password('123') where user='root' and host='localhost';mysql> flush privileges;
三、取消skip-grant-tables,重启mysql服务。
Linux 环境:删除增加的skip-grant-tables,输入service mysqld restart 重启服务。
Windows环境:退出刚才的2个窗口,注销系统即可。
更多内容请参看:mysql忘记密码及修改密码的方法