前言
昨天在本地安装了一个MySQL测试,机器为Centos7,今天登录后发现库全都“消失”了,只剩下一个information_schema库。查看了/var/lib/mysql下库的文件都在
分析
如果创建了一个用户并设置了密码,但是发现设置的密码无法登录,不用密码就能直接登录进去,只有information_schema库,那么可能是“登错”了账户,那么这个时候MySQL的user表中有一个账户为空的用户
解决
1、关闭MySQL服务
systemctl stop mysqld
2、忽略权限登录,然后新开一个窗口
mysqld_safe --skip-grant-tables
3、新开窗口操作
mysql -uroot
use mysql;
delete from user where user='';
flush privileges;
exit;
4、kill掉mysqld_safe,重启MySQL服务
systemctl restart mysqld