zoukankan      html  css  js  c++  java
  • 恢复Mysql丢失的root用户权限

     

    今天安装了某个程序时, 由于程序很傻X的 新建了一个 root@localhost 用户 并把 root权限全部改为了 no
      这下 我也 傻X 了.服务器上所有程序都崩溃了. 此时即使用root用户登陆进去也无法再修改权限了.
      赶紧 service mysqld stop 先停掉mysql 然后用安全模式 启动mysql
      /usr/bin/mysqld_safe --skip-grant-tables
      root 登陆 ..不需要密码
      进入 mysql 这个数据库(注意数据库名是mysql) ,把user表的 root@localhost 干掉 或者 把权限都改成yes 即可.
      然后重启 mysql服务
      权限恢复...

    方法一
    修改MySQL的登录设置:
    #在[mysqld]的段中加上一句:skip-grant-tables
    vi /etc/my.cnf
    例如:
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    skip-grant-tables
    #重新启动mysqld
    mysql安装目录/mysql
    mysql> USE mysql ;
    mysql> UPDATE user SET Password = password ( 'password' ) WHERE User = 'root' ;
    mysql> flush privileges ;
    GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
    mysql> flush privileges ;


    方法二
    #关掉mysql
    service mysqld stop

    #忽略权限表 进入mysql
    mysql安装目录/bin/mysqld_safe --skip-grant-tables &

    #进入
    #mysql -uroot -p 或者mysql安装目录/bin/mysql
    #一下操作更具实际情况选择
    INSERT INTO mysql.user (Host,User,Password) VALUES('localhost','root', PASSWORD('123456'));
    UPDATE mysql.user set password='123456' where user='root';
    GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
    flush privileges;

    #启动mysql
    service mysqld start

  • 相关阅读:
    nginx1配置文件
    div中添加滚动条
    django错误笔记——1242 Subquery returns more than 1 row
    Django中合并同一个model的多个QuerySet
    js正则匹配数字字母汉字
    django错误笔记——URL
    python发送邮件
    SMTP——MIME
    Python读取Excel中的数据并导入到MySQL
    css3选择器
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4034269.html
Copyright © 2011-2022 走看看