zoukankan      html  css  js  c++  java
  • mysql ERROR 1045 (28000): Access denied for user解决方法

    问题重现(以下讨论范围仅限Windows环境):  
    C:AppServMySQL> mysql -u root -p Enter password: 
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)  
    编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入 
      skip-grant-tables 保存退出后重启mysql  
    1.点击“开始”->“运行”(快捷键Win+R)。 2.启动:输入 net stop mysql 3.停止:输入 net start mysql  
    这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现
    password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。按下面的流程走(红色部分为输入部分,粉红色的是执行后显示的代码不用输入):  
    1.进入mysql数据库:  
    mysql> use mysql; Database changed  
    2.给root用户设置新密码,蓝色部分自己输入: 
    mysql> update user set password=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: mysql> quit Bye 
    改好之后,再修改一下my.ini这个文件,把我们刚才加入的
    "skip-grant-tables"这行删除,保存退出再重启mysql就可以了。

    本文分析了mysql登录报错提示:ERROR 1045 (28000)的解决方法。分享给大家供大家参考,具体如下:

    一、问题:

    公司linux系统的mysql数据库root用户设置过密码,但常常用命令'mysql -u root -p'登录报错,有时又能登录。登录报错信息为:

    1
    2
    3
    [root@localhost ~]# mysql -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

    二、原因:数据库中存在空用户所致

    三、解决方法:

    1、停用mysql服务:

    1
    # service mysql stop

    2、输入命令:

    1
    # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

    3、登入数据库:

    1
    # mysql -u root mysql

    4、

    1
    mysql> use mysql;

    5、

    1
    mysql> select user,host,password from user;

    结果如下:

    +------+-----------------------+----------+
    | user | host                  | password |
    +------+-----------------------+----------+
    | root | %                           | mima  |
    | root | localhost.localdomain | mima  |
    | root | 127.0.0.1                 | mima  |
    |        | localhost                  |          |
    |        | localhost.localdomain |          |
    +------+-----------------------+----------+

    6、将上面查询出来的空用户删除:

    1
    mysql> delete from user where user='';

    7、退出数据库:

    1
    mysql> quit

    8、启动mysql服务:

    1
    # service mysql start

    9、重新用命令:

    1
    mysql -u root -p

    登录,OK!

  • 相关阅读:
    LeetCode 345. Reverse Vowels of a String 题解
    LeetCode 344. Reverse String 题解
    LeetCode 27. Remove Element 题解
    LeetCode 61. Rotate List 题解
    LeetCode 19.Remove Nth Node From End of List 题解
    Android耗电量
    Android 使用adb查看和修改电池信息
    Android AOP AspectJ 插桩
    Flask相关用法
    Monkey日志信息的11种Event percentage
  • 原文地址:https://www.cnblogs.com/chenduzizhong/p/7657931.html
Copyright © 2011-2022 走看看