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