今天不小心把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