MySQL修改密码

Sexliber 数据库 2020-03-26

转载,原文地址:https://www.cnblogs.com/mrhonest/p/10881646.html

第一种方式:

最简单的方法就是借助第三方工具Navicat for MySQL来修改,方法如下:

1、登录mysql到指定库,如:登录到test库。

MySQL修改密码

2、然后点击上方“用户”按钮。

MySQL修改密码

3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。

MySQL修改密码

4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。

MySQL修改密码

 

 

 第二种方式:

 

方法1: 用SET PASSWORD命令   

 

首先登录MySQL。  

 

格式:mysql> set password for 用户名@localhost = password('新密码');  

 

例子:mysql> set password for root@localhost = password('123');  

 

 

 

方法2:用mysqladmin   

 

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

 

例子:mysqladmin -uroot -p123456 password 123  

 

 

 

方法3:用UPDATE直接编辑user表   

 

首先登录MySQL。  

 

mysql> use mysql;  

 

mysql> update user set password=password('123') where user='root' and host='localhost';  

 

mysql> flush privileges;  

 

 

 

方法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("123") where user="root";(别忘了最后加分号) 。  

 

7. 刷新权限(必须步骤):flush privileges; 。  

 

8. 退出 quit。  

 

9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

 

 

第三种方式:

 

  1. 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址


    MySQL修改密码

  2. 2

    打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。


    MySQL修改密码

  3. 3

    输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。


    MySQL修改密码

  4. 4

    然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。


    MySQL修改密码

  5. 5

    输入show databases;   可以看到所有数据库说明成功登陆。


    MySQL修改密码

  6. 6

    其中mysql库就是保存用户名的地方。输入 use mysql;   选择mysql数据库。


    MySQL修改密码

  7. 7

    show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。


    MySQL修改密码

  8. 8

    输入select user,host,password from user;   来查看账户信息。


    MySQL修改密码

  9. 9

    更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';


    MySQL修改密码

  10. 10

    再次查看账户信息,select user,host,password from user;   可以看到密码已被修改。


    MySQL修改密码

  11. 11

    退出命令行,重启mysql数据库,用新密码尝试登录。


    MySQL修改密码

  12. 12

    测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。


    MySQL修改密码

  13. 13

    我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。


    MySQL修改密码

    END

评论