美文网首页
| Mysql 5.7 事故现场:遗忘登陆密码

| Mysql 5.7 事故现场:遗忘登陆密码

作者: Hemingway_AT | 来源:发表于2020-02-05 20:25 被阅读0次

    故事开场

    年前的时候,因为一个练手工程的架构需要用到关系型数据库,考虑到 Mysql 是主流,最终还是卸载了电脑里最初上手的 MariaDB,开始找 Mysql 安装包。几经周折,成功在非系统盘安装了 Mysql 5.7。“地雷”就是当时埋下的,没有及时记录用户的登陆密码啊!

    记一笔:Mysql 配置相关

    • 对 my.ini 文件的简单修改
      default-character-set=utf8
      character-set-server=utf8
      innodb_buffer_pool_size=2G
    • 使用 mysql -u root -p 登陆,输入 status 命令查看连接信息

    险情预见

    今天又上“战场”,顿时懵了,不是 root ?做过很多尝试之后,我认输了。霎时,悔不当初,深刻反省。

    险情处理

    • 山重水复
      开始在网上找解决方案,介绍的方案都是:登陆时绕过认证,然后修改登陆密码,再启用认证登陆。
      在思索是重装软件还是尝试一把的过程中,我灵光一闪——除了命令行,印象中我用 navicat 连接过数据库。满怀期待打开 navicat,果然保存了历史连接,然而,并没有能让我看到明文密码。
    • 柳暗花明
      虽然没能拿到明文密码,但是我已经登陆进来了,意味着我可以立即修改用户登陆密码。此时需要做的事情是,定位到 mysql 库下的 user 表,修改 root 用户的登陆密码。你需要知道:这个版本下的 Mysql,user 表没有了 password 字段,取而代之有一个 authentication_string 字段,它表示的是 经 password 函数加密后的用户密码。
    -- 修改 root 用户的登陆密码为 root
    update user set authentication_string=password('root') where user='root';
    
    解释 authentication_string 字段的意义
    • 火烧火燎
      重启服务,立即检验

    (完)

    相关文章

      网友评论

          本文标题:| Mysql 5.7 事故现场:遗忘登陆密码

          本文链接:https://www.haomeiwen.com/subject/ebosxhtx.html