zoukankan      html  css  js  c++  java
  • 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字段为空,则直接刷新权限+修改密码

    从今天起,做一个挖坑又填坑的好少年
  • 相关阅读:
    java foreach遍历的前提条件
    Java中的null值总结
    mybatis不可忽略的细节
    设计模式:创建型模式
    设计模式(四):原型模式
    设计模式(三):建造者模式
    设计模式(二):单例模式(DCL及解决办法)
    设计模式(一):简单工厂、工厂模式、抽象工厂
    定时任务 ScheduledExecutorService
    快速访问GitHub
  • 原文地址:https://www.cnblogs.com/hdu-linux-Soc-AI-IC/p/14544123.html
Copyright © 2011-2022 走看看