Mysql误删root用户或没有root用户――linux
2015-06-01 16:00
981 查看
在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.pid2、重启mysql服务
/etc/init.d/mysqld restart
3、使用下列命令登陆mysql,无需密码
[root@test1]# mysql4、登陆后,重新添加root用户
mysql> use mysql;
mysql> insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';
mysql> update user set Host='localhost',select_priv='y', mysql>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';mysql> quit;
5. 使用下列命令重新登陆, 设置root的密码
mysql> mysql -u root
mysql> update mysql.user set password=password('yourrootpasswd') where user='root';
mysql> update user set host = '%' where user = 'root'; //%表示设置远程机器可访问mysql。
mysql> flush privileges;
mysql> quit;
6. 修改/etc/my.conf文件,将skip-grant-tables去掉,然后重启mysql
[root@test1]# /etc/init.d/mysqld restart
7. 正常则一切OK
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.pid2、重启mysql服务
/etc/init.d/mysqld restart
3、使用下列命令登陆mysql,无需密码
[root@test1]# mysql4、登陆后,重新添加root用户
mysql> use mysql;
mysql> insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';
mysql> update user set Host='localhost',select_priv='y', mysql>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';mysql> quit;
5. 使用下列命令重新登陆, 设置root的密码
mysql> mysql -u root
mysql> update mysql.user set password=password('yourrootpasswd') where user='root';
mysql> update user set host = '%' where user = 'root'; //%表示设置远程机器可访问mysql。
mysql> flush privileges;
mysql> quit;
6. 修改/etc/my.conf文件,将skip-grant-tables去掉,然后重启mysql
[root@test1]# /etc/init.d/mysqld restart
7. 正常则一切OK
相关文章推荐
- Linux Ctrl+Z的使用方法
- linux学习笔记—输出重定向
- Linux安装配置php
- 玩转linux,不断更新。。。
- 在CentOS4上安装JMagick
- linux 命令大全及详细实例
- 我的linux常用操作
- 使用centos6.5下安装kvm虚拟机
- linux 动态链接库
- linux设置开机服务自动启动/关闭自动启动命令
- linux 静态链接库demo
- centos 5.6下部署postfix
- linux信号量初识
- 优化Linux的内核参数来提高服务器并发处理能力
- python centos6.6安装
- linux 命令整理
- Linux下的iwpriv(iwlist、iwconfig)的简单应用
- Linux内核实现多路镜像流量聚合和复制
- centos24448
- linux下 C程序 参数和内存