MySQL 8 如何修改密码

推荐方案 零

第零种方式:

1,先在配置文件里加上 skip-grant-tables 重启mysql后免密登陆进入mysql

2,查看当前认证方式以及用户,默认是 caching_sha2_password 认证,

select host, user, authentication_string, plugin from user;

3,如果2是默认认证方式,则修改为密码认证为 mysql_native_password先, 在配置文件里加上

default_authentication_plugin=mysql_native_password
后再次重启mysqld,免密登陆

4,不能直接修改密码,会报错。要先清空root密码:

update user set authentication_string='' where user='root';

flush privileges;

5,退出mysql,

删除/etc/my.cnf文件里的 skip-grant-tables ,再一次重启 mysql 服务,再次登陆的时候是空密码登陆:

mysql -u root -p

6.登陆后即可修改密码了:

ALTER USER 'root'@'%' IDENTIFIED BY '123456';

flush privileges;

7.完成。

PS: C站粉丝反馈,下面三种方式部分已过时,谨慎使用,针对老版本有效,特此声明~

第一种方式:

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

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

img

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

img

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

img

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

[img

第二种方式:

方法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

注意事项

  • 注意其中需要重启数据库的几个地方

结语

如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。

  • 18
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头虎

一分也是爱,打赏博主成就未来!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值