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,你就会发现你的问题已经解决了。