centos下mysql看不到mysql数据库
centos8中,使用root账号登录时,输入密码发现是错的,密码为空才能进入mysql服务。但是进去之后发现没有mysql和之前创建过的其它数据库,只有一个information_schema
数据库。
原因:
这可能是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的。
1.关闭mysql
service mysqld stop
2.屏蔽权限
mysqld_safe --skip-grant-table
3.新开启一个终端进入mysql服务
mysql -u root mysql
删除空用户:
delete from user where USER='';
刷新mysql系统权限表:
FLUSH PRIVILEGES;
4.重启mysql
service mysqld restart
5.登录mysql
mysql -uroot -p [密码]
参考资料:
https://www.cnblogs.com/sfth/p/10699650.html