• ADADADADAD

    关于mysql中root权限丢失的问题[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 12:12:30

    作者:文/会员上传

    简介:

    刚听一哥们说执行了一条语句:revoke all on *.* from root@localhost;--呵呵,当时到底是怎样的心理活动,这是怎样的恨。。。
    于是小菜就做了一个实验,心里感觉应该和密码丢失后

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    刚听一哥们说执行了一条语句:revoke all on *.* from root@localhost;--呵呵,当时到底是怎样的心理活动,这是怎样的恨。。。
    于是小菜就做了一个实验,心里感觉应该和密码丢失后跳过权限重新设置密码的解决方法是一样的,当然这只是思路,试试才知道。
    首先停止数据库[root@mysql ~]#service mysql3306 stop --因为忘记密码所以只能停止服务的方式关闭数据库
    Shutting down MySQL.[ OK ]
    [root@mysql ~]#
    [root@mysql ~]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf --skip-grant-tables & --跳过校验密码的方式启动数据库[2] 11254
    [root@mysql ~]# 160330 16:56:22 mysqld_safe Logging to '/usr/local/mysql/log/err3306.log'.
    160330 16:56:22 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

    [root@mysql ~]# ps -ef | grep mysql--查看数据库已然启动
    root 112546904 0 16:56 pts/200:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
    mysql 11771 11254 0 16:56 pts/200:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --skip-grant-tables --log-error=/usr/local/mysql/log/err3306.log --pid-file=/usr/local/mysql/data/mysql.lz.com.pid --socket=/usr/local/mysql/mysqld3306.sock --port=3306
    root 117956904 0 16:57 pts/200:00:00 grep mysql
    [root@mysql ~]# /usr/local/mysql/bin/mysql --socket=/usr/local/mysql/mysqld3306.sock --port=3306--不指定用户和密码直接登录数据库
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.5.17-log Source distribution

    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    mysql> select user();--默认为root用户登录
    +--------+
    | user() |
    +--------+
    | root@ |
    +--------+
    1 row in set (0.00 sec)

    root@master 08:41:31 >grant all on *.* to 'root'@'localhost';
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    在网上找到解决方法:

    这个时候我们只需要

    flush privileges 一下,在添加用户就OK了,

    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    root@master 08:45:59 >grant all on *.* to 'ivan'@'localhost' identified by 'mysql321' with grant option;
    Query OK, 0 rows affected (0.01 sec)

    root@master 08:46:24 >flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    root@master 08:46:31 >quit
    Bye
    [root@mysql data]# service mysql3306 stop
    Shutting down MySQL..160409 08:46:39 mysqld_safe mysqld from pid file /usr/local/mysql/mysql3306.pid ended
    [ OK ]
    [1]+ Done/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf --skip-grant-tables
    [root@mysql data]# ps -ef |grep msyql
    root 62709 57953 0 08:46 pts/100:00:00 grep msyql
    [root@mysql data]# service mysql3306 start
    Starting MySQL..[ OK ]
    [root@mysql data]# /usr/local/mysql/bin/mysql -uivan -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.5.17-log Source distribution

    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    ivan@master 08:47:36 >grant all on *.* to 'root'@'localhost' with grant option;
    Query OK, 0 rows affected (0.00 sec)

    [root@mysql data]# /usr/local/mysql/bin/mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 9
    Server version: 5.5.17-log Source distribution

    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    root@master 08:49:33 >show databases;
    +--------------------+
    | Database|
    +--------------------+
    | information_schema |
    | c_test |
    | ivan|
    | mysql |
    | performance_schema |
    | test|
    | webcat |
    +--------------------+
    至此一切正常。。。。。啊哈哈哈哈。。。。


    关于mysql中root权限丢失的问题.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlroot丢失