数据库root权限恢复

来源:互联网 发布:mac通讯录管理软件 编辑:程序博客网 时间:2024/05/24 15:42

今天不小心把root权限删除了,吓得我的小心脏啊,进过我多年的搜索能力,终于搞定。以下方法亲测可用:

不小心删除root  :

1:首先 停止mysql 进程 :  # killall mysqld 

2:启用数据库安全模式  :  # mysqld_safe --skip-grant-tables &

3:进入mysql 控制台 输入 :mysql -p;

4:提示:enter password   输入root用户密码。

5: 使用mysql :mysql>use mysq;

6:创建一个root用户:mysql> insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject=''; 

7.:设置root用户所有权限为 ' y ' ,拥有最高权限。

msyql> update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';

8:退出mysql: mysql>exit;

9:重启mysql : # /etc/init.d/mysql start

10: 链接数据库,刷新权限:mysql>flush privileges; 

以上就可以了。实在是心累啊。


补充:

root@DB-02 ~]# mysql -u root

系统默认会查找/usr/bin下的命令,命令不在这个目录下,报错:
-bash: mysql: command not found

我们需要 创建一个链接到  /usr/bin 目录下

首先知道MySQL命令或mysqladmin 命令的完整路径,

例如:通常的mysql路径:/usr/loacl/mysql/bin/mysql,

创建软链接: ln -s /usr/local/mysql/bin/mysql  /usr/bin