mysql中的mysql数据库不见了

mysql中的mysql数据库不见了

昨天刚刚在vmware虚拟机的linux上安装mysql,今天登上就发现一个问题。通过网上漫长的寻找,终于解决了。所以我在这把我解决的步骤跟大家分享一下。

问题就是登录mysql后没有mysql这个数据库,我在网上找了大多数说是root权限丢失,这可能是导致这个问题的原因之一,但是我的却不是这个问题。如果你再试了那个方法之后没用,那你可得好好看我接下来的解决方案了。

如果你创建了一个用户并设置了密码。但你发现你使用设置的账号密码都等了不了,例如 mysql -uroot -p123456,或者mysql -uroot -p都登录不了,但是使用mysql -uroot就直接能登陆进去,并且里面没有mysql数据库。那么可能“登错了”账户。这时你的数据库的mysql的user表中有一个账户为空的用户,下面是解决办法

你必须删除掉mysql数据库user表中账户为空的用户,你现在进的数据库根本没有mysql数据库,所以得先关闭mysql服务,然后删除。

 

service mysql stop //关闭mysql服务
mysqld_safe --skip-grant-tables  //忽略权限登录,然后再开一个窗口操作

再新开的窗口中进入mysql:mysql -uroot
use mysql
select * from user where user='' //如果有数据,那么你的问题基本就可以确定了
delete from user where user='';
flush privileges;  //重载权限表
然后重启mysql服务    service mysql restart

 

然后进入mysql,你就会发现你的问题已经解决了。

你可能感兴趣的:(Mysql数据库,mysql,数据库)