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

  • 相关阅读:
    hdu 1290 献给杭电五十周年校庆的礼物 (DP)
    hdu 3123 GCC (数学)
    hdu 1207 汉诺塔II (DP)
    hdu 1267 下沙的沙子有几粒? (DP)
    hdu 1249 三角形 (DP)
    hdu 2132 An easy problem (递推)
    hdu 2139 Calculate the formula (递推)
    hdu 1284 钱币兑换问题 (DP)
    hdu 4151 The Special Number (DP)
    hdu 1143 Tri Tiling (DP)
  • 原文地址:https://www.cnblogs.com/kxdblog/p/4034269.html
Copyright © 2011-2022 走看看