zoukankan      html  css  js  c++  java
  • 01、MySql 8版本的重置密码

    原文:https://www.jb51.net/article/206723.htm  

    以下用来备份:

    先自己看一下自己的user表结构,在user表中一般而言,我们最关注三个字段,分别是localhost的host列,用户名root的user列,以及保存密码的authentication_string列

    注意:保存密码的字段已经不是password了(旧版本可能是,而且很多改root密码教程也是还停留在password),其次我这个较新的版本已经在这里不适用password函数,教材使用的是MD5加密,目前仍然很多百度的都是下面这种,这个方法已经完全不适用了。

    1.免密登录

    将mysql登陆设置为免密登陆(这一步我暂时不知道可不可以使用debian.cnf配置中的debian-sys-maint账户登陆进行修改root的密码,我怕debian权限不够无法改动root所以还是选择了root免密登陆,有兴(wu)趣(liao)的同学可以尝试下,这一步主要是为了能进入服务器),具体方法为:
    进入配置文件,我的配置文件在   /etc/my.cnf

      进入配置文件,在最后边添加    skip-grant-tables            保存并退出

    2.清空authentication_string密码

    其实这一步是我误打误撞进去的,也是被网上各种复制的教程带跑偏了,今天晚上在研究user表时,看到plugin字段默认是caching_sha2_password,所以我想到有可能之前不应该用md5加密,而应该用sha2,所以:
    注意:这是关键步骤

    1
    2
    update user set authentication_string=sha2("1234",32) where user = 'root';
    flush privileges;

    然后再看user表中root的数据,发现authentication_string的值居然变为null了,此时我有预感我可能可以真正的免密登陆了
    回到配置文件(注意使用sudo),把上面的在配置中加的那一行代码

    1
    skip-grant-tables

    给删了,然后重启MySQL服务器,然后登陆

    1
    mysql -u root

    果然真的能登陆了,真正的免密登陆,因为此时root账户的密码已经被清掉了,但是为啥用sha2摘要算法不是算出一个密码而是清掉一个密码我就不懂了,肯定有大佬知道…

    3.重新设置密码

    重新设置密码就简单了,一行代码搞定:

    1
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';

    ps:MySQL在第一次安装之后,也是没有密码的,第一次登陆服务器时可能需要sudo mysql -uroot登陆,登陆之后自己再设置mysql的root密码,设置方法和上述代码一模一样

    4.结束

    之后就可以用新密码重新登陆MySQL啦

    1
    mysql -u root -p123

    5.最后

      •  本次也是误打误撞然后清空了root密码,具体的原理并不清晰,比如为啥使用sha2却把root密码authentication_string字段变为NULL了,如果你的plugin是md5,有可能就是用MD5才是正确的,如果是sha1,就用sha1尝试,没有看官方文档,所以整个过程很痛苦,因此,严格上来说,这是一个提问帖,坐等大佬,感谢
      • 很多地方可能没有讲详细,比如数据库重启,配置文件,如何找debian-sys-maint账户,vim编辑等,有问题欢迎提问,常在csdn,随时在的。
      • 系统为Ubuntu,Mac方法应该一样,主要Mac的MySQL配置文件已经被优化了,一定是需要自己做一个my.cnf的,一般同学应该都放在家目录下,所以文件位置肯定和我不一样
      • 可能同学还是旧版本,比如5.x的,网上的方法可能也还是适用的,那么这个方法就肯定不适用了(因为user表中密码字段都不一样了),所以版本注意一下
    阿里云服务器:最高¥2000云产品通用代金券领取: https://www.aliyun.com/minisite/goods?userCode=3ls0qk0b
  • 相关阅读:
    反射
    关于EwebEeditor 不能上传图片问题解决方法
    js去掉前后空格
    园子开张
    使用Python 爬取 京东 ,淘宝。 商品详情页的数据。(避开了反爬虫机制)
    c#对于加密的一点整合 (AES,RSA,MD5,SHA256)
    移动战略调查:应用开发者首选微软Windows
    Surface Pro打包微软精华 今晚在华开售
    Ceph学习全过程 基于N版
    k8s中部署wordpress
  • 原文地址:https://www.cnblogs.com/hhz-97/p/14599858.html
Copyright © 2011-2022 走看看