美文网首页我爱编程
mysql ERROR 1045 (28000): Access

mysql ERROR 1045 (28000): Access

作者: 鬓白红颜殁 | 来源:发表于2016-08-08 11:35 被阅读1605次

    遇到的问题

    在安装了AppServ之后,登录mysql的时候一直报这个错误。

    F:\AppServ\MySQL> mysql -u root -p

    Enter password:

    ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password: YES)

    解决方案

    一、配置成无需密码登录

      先打开mysql的配置文件my.ini,例如我的安装路径是F:\AppServ\MySQL\my.ini,用编辑器打开即可,搜索[mysqld] (注:括号不能少),在其下面加入一行 skip-grant-tables,保存退出后重启mysql。

    重启mysql的步骤:

    1.点击“开始”-->“运行”(快捷键win+R)。

    2.停止mysql命令:net stop mysql。

    3.启动mysql命令:net start mysql。

    以上步骤完成mysql重启成功。

    下面进入cmd里面输入 mysql -u root -p 回车,出现password后直接回车,不用输入密码。现在我们就进入了mysql,不再报错了,但是现在只能使用mysql的一部分功能,因为我们没有权限(grant)。我们需要重新去更新一下mysql的root用户的登录密码。

    二、更新密码

    1. 进入mysql

    mysql> use mysql;

    输出:Database changed

    2.给root用户重新设置密码,密码自定义

    mysql> update user set password=password("你自己设置的密码") where user="root";

    如果报了错误说没有找到password这个字段,可以用另外一个字段(5.7.xx版本以后好像是需要改成authentication_string)

    mysql> update user set authentication_string=password("你自己设置的密码") where user="root";

    输出: Query OK,1 rows affected (0.01 sec)

    Rows matched:1 Changed:1 Warnings: 0

    有以上输出证明修改成功。

    3.刷新数据库

    mysql>flush privileges;

    输出:Query OK, 0 rows affected (0.00 sec)

    4.退出

    mysql>quit

    输出:Bye

     改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
     

    原文连接:


    mysql ERROR 1045 (28000): Access denied for user解决方法

    相关文章

      网友评论

        本文标题:mysql ERROR 1045 (28000): Access

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