• Access denied for user root@localhost问题


    忘记了root密码,或者删了root的一些权限,换来一堆报错,比如

    ERROR 1142 (42000): SELECT command denied to user 'root'@'localhost' for tab
    ERROR 1045 (28000): Access denied for user 'root'@'localhost'

    这个时候最好别慌,如果是用Navicat,这个时候千万别关闭链接。马上把用户创建回来,并且不要吝啬权限,能给它配的全配了。不过这都是理想状态,可能慌张,可能是在清洁脏用户就想着“惜权”不配全部权限。好吧,万一最糟糕的发生了呢?还是说说如何补救。

    救场步骤:

    1,修改/etc/my.cnf配置,绕过权限判断

    [mysqld]
    skip-grant-tables

    2,重启mysql,进入控制台(此时已无需密码),先刷新权限。记住先别忙着就操作权限和密码,先运行以下语句,否则你的操作依然会继续报错。

     flush privileges;

    3,然后重置root密码,或者给root添加权限。

    update mysql.user set authentication_string=password('新密码') where user='root';//mysql 5.7

    grant all privileges on *.* to root@'localhost';

    4,最后还原一下my.cnf,然后重启。

  • 相关阅读:
    SQL Server 存储过程
    String.format Tutorial
    第五次
    第四次
    第三次
    第一次作业
    第二次
    c/c++
    HelloWorld出现的问题
    Android系统架构
  • 原文地址:https://www.cnblogs.com/xianxh/p/9936613.html
Copyright © 2020-2023  润新知