误删除mysql中的所用用户,如何重新设置root账号和密码
在练习mysql语句的时候,使用delete将数据库中的所有用户删除了,其中也包括root用户。并进行了flush privileges;这时候发现重新登入mysql已经不能正常登陆。对此我们要重新设置root账号和root密码。具体操作步骤如下:
删除用户操作:
mysql> delete frommysql.user; 删除所有用户 mysql> flushprivileges;
首先断掉与数据库相关联的所有链接,防止咋数据库重启的时候数据的丢失。
[root@node1 ~]# service mysqld stop
修改数据库配置文件
[root@node1 ~]# vim /etc/my.cnf
在配置文件中的[mysql]下的内容
在[mysql]
下一行中添加“skip-grant-tables”
保存并退出,重启mysql数据库
[root@node1mysql]# mysql
mysql> insertinto mysql.user (host, user, password , sll_cipher,x509_issuer, x509_subje c ) values ('localhost', 'root',password('123456'),’’,’’);
退出数据库,再将mysql.cnf配置文件进行更改,删除刚才新添加的行即可。重新启动数据库即可。
[root@node1 ~]# service mysqld restart
即可完成对mysqlroot用户的添加!
第二种方式不修改mysql的配置文件;
service mysqld stop //停止mysql数据库服务 mysqld_safe--skip-grant-tables --skip-networking
另外终端
Mysql mysql> insertinto mysql.user (host, user, password,sll_cipher,x509_issuer,x509_subjec) values ('localhost', 'root',password('123456'),’’,’’);
即可完成对数据库root用户的添加!