方法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 进入数据库

修改本地数据库root权限密码-冯金伟博客园

(未选择任何数据库)执行也成功(与方法2比较)!

方法2:进入mysql数据库进行修改 测试成功

修改本地数据库root权限密码-冯金伟博客园

进入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重新加载权限,这样刚才修改的就马上生效了

  修改本地数据库root权限密码-冯金伟博客园

方法3:mysqladmin命令用于修改用户密码 测试没有成功

mysqladmin命令格式:mysqladmin -u 用户名 -p 旧密码 password 新密码

1) 给root加个密码ab12
首先在DOS下进入目录mysqlin,然后键入以下命令:
    mysqladmin -u root -password ab12
注:因为开始时root没有密码,所以-p 旧密码一项就可以省略了。

2) 再将root的密码改为djg345
    mysqladmin -u root -p ab12 password djg345

方法4:在忘记root密码的时候,可以这样。 没试验

  以windows为例:
  1. 关闭正在运行的MySQL服务。
  2. 打开DOS窗口,转到mysqlin目录。
  3. 输入mysqld –skip-grant-tables 回车。–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证
  4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysqlin目录。
  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登录。