方法1: 用SET PASSWORD命令 测试成功
首先登录MySQL
@1——mysql DOS 窗口中。
格式:mysql> set password for 用户名@localhost = password('新密码');
mysql> flush privileges; 刷新内存里的权限表,立即生效
例子:mysql> set password for root@localhost = password('admin');
mysql> flush privileges;
上面例子将用户root的密码更改为admin
@——使用工具SQLyog 进入数据库
(未选择任何数据库)执行也成功(与方法2比较)!
方法2:进入mysql数据库进行修改 测试成功
进入mysql DOS窗口后没有进入mysql数据库直接执行 UPDATE USER SET PASSWORD = PASSWORD('dujie') WHERE USER='root' AND HOST='localhost';
所以提醒 No database selected
正确做法:
进入mysql DOS窗口后执行下面命令
1.use mysql 进入mysql数据库
2.UPDATE USER SET PASSWORD = PASSWORD('dujie') WHERE USER='root' AND HOST='localhost'; 更新用户权限密码
3.FLUSH PRIVILEGES; 重新刷新权限表。
因为MySQL启动后,所有用户权限都是加载到内存中的;这样大量的权限检查能够更快速,你手动update 只是磁盘上面的表(但有些权限更新操作不会刷新到内存中,这样只有下次启动时才生效),
执行flush privileges 将磁盘上的权限表刷写到内存,用于替换内存中原有的权限表flush privileges;强制让MySQL重新加载权限,这样刚才修改的就马上生效了
方法3:mysqladmin命令用于修改用户密码 测试没有成功
mysqladmin命令格式:mysqladmin -u 用户名 -p 旧密码 password 新密码
1) 给root加个密码ab12
首先在DOS下进入目录mysql\bin,然后键入以下命令:
mysqladmin -u root -password ab12
注:因为开始时root没有密码,所以-p 旧密码一项就可以省略了。
2) 再将root的密码改为djg345
mysqladmin -u root -p ab12 password djg345
方法4:在忘记root密码的时候,可以这样。 没试验
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("admin10000.com") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码admin10000.com登录。