知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

点滴记录――LinuxMysql数据库误删root用户

发布时间:2015-02-02 18:31:17作者:知识屋

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


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

[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0skip-grant-tables[mysqld_safe]log-error=/var/log/mysqld.logpid-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 rootupdate 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
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜