mysql 忘记密码的解决方法(linux和windows小结)

时间:2022-01-10 20:43:18

当登陆MYSQL时,提示: 
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES) 
说明密码不正确,当确实忘记密码时,要怎么办呢? 难道重新安装,当然不需要了. 

Linux或UNIX 

1. 用root或者以mysqld的用户登录系统 
2. 利用kill命令结束掉mysqld的进程 
3. 使用 --skip-grant-tables 参数启动MySQL, 假设MySql安装目录在 /usr/local/mysql/ , 进入shell. 
4. 执行 /usr/local/mysql/mysqld_safe --skip-grant-tables & 启动mysql守护进程 
6. 执行 /usr/local/mysql/mysqladmin -u root flush-privileges password "newpassword" 为root用户重新设置密码 
7. 重新启动mysqld 

第6步也可以直接修改mysql用户表: 

mysql> use mysql; 
mysql> update user set password=password("newpassword") where user="root"; 
mysql> flush privileges; 

Windows: 

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服务 

第4步也可以直接修改mysql表,所用到的SQL语句同linux部分,这里就不再重复了.