• MySQL8.0 忘记密码&修改密码


    mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码,而authentication_string字段下只能是mysql加密后的41位字符串密码。所以需要用一下方式来修改root密码:

    ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassword';
    

      

    1.登录MySQL

    关闭正在运行的 MySQL 服务。打开 cmd 进入 MySQL 的 bin 目录,可直接找到bin目录,在地址栏输入cmd

    输入 mysqld --console --skip-grant-tables --shared-memory  命令。–skip-grant-tables 会让 MySQL 服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证就可以直接登录 MySQL 服务器,并且拥有所有的操作权限。

    上一个 DOS 窗口不要关闭,打开一个新的 DOS 窗口,此时仅输入 mysql 命令,不需要用户名和密码,即可连接到 MySQL。

    2.修改密码

    因为mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码,而authentication_string字段下只能是mysql加密后的41位字符串密码。所以需要用一下方式来修改root密码:

    ALTER user 'root'@'localhost' IDENTIFIED BY 'newpassword';

    MySql 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空,user表在mysql库中,查看表之前先换库,再查表

    SELECT host, user, authentication_string from user where user='root';

    若authentication_string字段不为空,则修改该字段为空字符串

    UPDATE user SET authentication_string='' WHERE user='root';
    

      然后,

    flush privileges; --刷新权限
    ALTER user 'root'@'localhost' IDENTIFIED BY 'root';--修改密码为root
    

      若authentication_string字段为空,则直接刷新权限+修改密码

    从今天起,做一个挖坑又填坑的好少年
  • 相关阅读:
    【Thinking in Java, 4e】初始化与清理
    【Thinking in Java, 4e】控制流程执行
    【Beginning Python】抽象(未完)
    【Python】装饰器 & 偏函数
    【c++ primer, 5e】函数声明 & 分离式编译
    【Python】闭包 & 匿名函数
    【c++ primer, 5e】【函数基础】
    【Python】高阶函数
    变相的取消Datagridview控件的选中状态
    NotifyICon控件使用
  • 原文地址:https://www.cnblogs.com/hdu-linux-Soc-AI-IC/p/14544123.html
Copyright © 2020-2023  润新知