码迷,mamicode.com
首页 > 数据库 > 详细

mysql误删root

时间:2018-03-28 18:47:04      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:mysq   local   tail   lte   导致   link   var   eve   article   

 在Linux中有时安装Mysql会出现没有root用户的状况,或者说root账户被从mysql.user表中误删除,这样就导致很多权限无法控制。解决办法是重新创建root用户,并授予所有权限,具体方法如下:

1. 修改/etc/my.conf文件,添加skip-grant-tables

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-grant-tables
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2. 重启mysql服务

/etc/init.d/mysqld restart

3. 使用下列命令登陆mysql,无需密码

mysql

4. 登陆后,重新添加root用户

use mysql;
insert into user set user=‘root‘,ssl_cipher=‘‘,x509_issuer=‘‘,x509_subject=‘‘;
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‘;
先退出:quit;

5. 使用下列命令重新登陆, 设置root的密码

mysql -u root
update mysql.user set password=password(‘yourrootpasswd‘) where user=‘root‘;
update user set host = ‘%‘ where user = ‘root‘; #设置远程机器可访问mysql,如果不需要可不是设置
flush privileges;
quit;

6. 修改/etc/my.conf文件,将skip-grant-tables去掉,然后重启mysql

/etc/init.d/mysqld restart

7. 正常则一切OK
转载请说明出处:http://blog.csdn.net/cywosp/article/details/42145779

mysql误删root

标签:mysq   local   tail   lte   导致   link   var   eve   article   

原文地址:https://www.cnblogs.com/duandian/p/8665247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!