mysql登录没有root用户_Mysql误删root用户或没有root用户——linux

时间:2024-10-12 18:56:58

Linux中有时安装Mysql会出现没有root用户的状况,或者说root账户被从表中误删除,这样就导致很多权限无法控制。

解决办法重新创建root用户,并授予所有权限,具体方法如下:

1、 修改/etc/文件,添加skip-grant-tables

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

skip-grant-tables

[mysqld_safe]

log-error=/var/log/-file=/var/run/mysqld/

2、重启mysql服务

/etc//mysqld restart

3、使用下列命令登陆mysql,无需密码[root@test1]# mysql

4、登陆后,重新添加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 set password=password('yourrootpasswd') where                      user='root';

mysql> update user set host = '%' where user = 'root';//%表示设置远程机器可访问mysql。

mysql> flush privileges;

mysql> quit;

6. 修改/etc/文件,将skip-grant-tables去掉,然后重启mysql[root@test1]# /etc//mysqld restart

7. 正常则一切OK