• 解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)【亲测有效】


    文件转自:https://blog.csdn.net/hua1011161696/article/details/80666025

    问题:(MySQL 5.6社区版windows版)

    忘记密码或其他一些原因导致无法连接上MySQL服务器端,在命令行报错:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


    解决方案:

        步骤一:关闭数据库服务端mysqld程序

    两种方式:

    ①快捷键 windows + R     ;输入 services.msc  ;   找到MySQL  停止其服务(前提是你之前已经把MySQL加入了系统服务中)


    ②在命令行程序中;注意需要以管理员权限运行cmd程序,不然无法关闭mysqld进程

    >>tasklist |findstr mysqld        这行命令可以用来查看mysqld是否在运行,在运行中则可以查到它的PID

    >>taskkill /F /PID xxxx             xxxx是从前面一条命令得到的PID值



    步骤二:跳过权限登录MySQL 服务器端

    在cmd中执行 mysqld --skip-grant-tables

    >>mysqld --skip-grant-tables


    此时cmd程序会阻塞,关闭cmd程序 然后重新以管理员权限运行cmd

    然后在cmd命令行中输入 mysql 就能连接上MySQL 服务器端了

    >>mysql

    然后可以通过sql语句 :SELECT * from mysql.userG;  来查看服务器端所有的用户信息,重点查看User、Password、authentication_string这三项。这条语句非常关键。


    步骤三:修改密码

     依次执行如下sql语句:

        update mysql.user set authentication_string=password('321') where user = 'root';
        flush privileges;

    上面第一条sql语句中 password('密码') 函数中写你想要改成的密码,我这用的是密码321

    接着执行:

    SELECT * from mysql.userG;

    去找到root用户的authentication_string这项,并把它的值记下来。

    MySQL会给密码进行加密,你想要设置的密码进行加密后的值就等于此时authentication_string这项的值

    所以接下来把Password这项的值也设置成此时authentication_string项的值就ok了;我设置的密码是321 ,其对应的密文是  *7297C3E22DEB91303FC493303A8158AD4231F486

    执行下面两条sql语句:

        update mysql.user set password = '*7297C3E22DEB91303FC493303A8158AD4231F486' where user = 'root';
        flush privileges;


    步骤四:

    输入 quit 退出 mysql ;然后就可以直接登录了

    >>mysql -u root -p

    --------------------------------------------------------------------------------

    当然也可以重启下mysqld再登录
    再次提醒:需要以管理员权限运行cmd
    >>tasklist |findstr mysqld
    >>taskkill /F /PID xxxx

    然后就是启动mysqld程序
    (不知怎么把mysqld加入系统服务中去可看点击打开链接)
    >>mysqld

    若已经把mysqld程序加入了系统服务中,则需要在系统服务中启动MySQL服务端

    快捷键 windows + R     ;输入 services.msc  ;


    最后就是重新登录

    >>mysql -u root -p

    在Password:处填入你前面设置的密码
    ---------------------
    作者:Lee-hua
    来源:CSDN
    原文:https://blog.csdn.net/hua1011161696/article/details/80666025
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Twisted
    day10-redis操作
    day9mysql操作
    day9-paramiko
    day10-rabbitmq
    day9-协程
    day8-异常
    Linux 软连接
    nginx 配置篇
    ansilbe基础学习(一)
  • 原文地址:https://www.cnblogs.com/enochgong/p/10506703.html
Copyright © 2020-2023  润新知