centos7 安装rpm版的mysql遇到坑——误删root用户的恢复

在网上找了教程http://blog.csdn.net/frankcheng5143/article/details/77609093安装过程很顺利,随着修改了root的密码后不下心误删了root账号,解决办法:

1.误删后使用mysql -uroot - p 怎么登陆都是提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),网上大多数说法先关掉mysql进程即停掉mysql服务,可以使用systemctl stop mysqld.service或者其他方式都可以,然后修改配置文件  vim /etc/my.cn在末尾添加skip-grant-tables然后保存退出(:wq):

centos7 安装rpm版的mysql遇到坑——误删root用户的恢复

2.启动mysql: systemctl start mysqld.service,然后不用密码登陆mysql -u root :

centos7 安装rpm版的mysql遇到坑——误删root用户的恢复

只要进去了就可以想办法在user表里面添加root信息,其实这里被删的只是user表里面的root系统默认的root账号可以通过以上步骤跳过安全验证登陆的;

3.添加被误删的root,可以先查看一下user表里面的信息,

centos7 安装rpm版的mysql遇到坑——误删root用户的恢复,显然没有root的信息,再看下表结构desc user; 有很多字段添加还有点麻烦,

*1.首先插入insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';记得刷新flush privileges;

*2.通过这条命令查看执行的结果select user,host,authentication_string,password_expired from user;

centos7 安装rpm版的mysql遇到坑——误删root用户的恢复

这样有了root的数据了,但是还有其它字段没数据。

*3.使用这条语句去修改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';

4.这样差不都可以exit退出,然后打开/etc/my.cn注释掉skip-grant-tables然后保存退出(:wq),重启mysql服务,systemctl restart mysqld.service;

mysql -uroot -p 回车进去不用输入密码,可以登陆进去。然后可以修改密码update mysql.user set authentication_string=password('0000') where user='root' ;密码太短会提示不合要求,可以设置验证策略set global validate_password_policy=0;  set global validate_password_length=4; flush privileges;。退出mysql服务,重启可以了。

上一篇:OutputStream与PrintWriter的使用与区别


下一篇:JSP页面时间动态显示 (转载)