当我们创建一个用户并设置完成了密码,但是使用设置的账号密码都无法登录,比如使用 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,你就会发现你的问题已经解决了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。