转自
http://blog.csdn.net/buyaoxx/article/details/77619619
今天开发中在 Centos7 中安装 MySQL5.6 版本后, 在表中新建了一个 weicheng 的账户, 并且设置了密码, 但是在用 weicheng 账号登陆 mysql 发现, 如果使用 "mysql -uweicheng -p" 登陆会报错, 即使密码正确也不能登录, 最后发现, 直接用 "mysql -uweicheng" 不输入密码也可以登陆.
后来, 查询了资料原因是: 应为数据库里面有空用户, 通过
select * from mysql.user where user='';
查询如果有, 然后通过
use mysql;
delete from user where user = '';
删除了多余的空白账户, 然后, 通过
flush privileges;-
重载一次权限表, 最后用
service mysqld restart
重启 mysql 服务, 问题得到解决, 至此 mark 一下!
Tip:
1, 一定要记住重启 mysql 服务, 否则不会生效, 自己就是因为没有重启 msyql 导致一直得不到解决!
2,msyql 的用户表在 mysql 数据库中的 user 表中, 主要字段有 host,user,password 等, 作为 mysql 用的管理的主要表.
为什么 mysql 设置了密码之后, 本地还可以直接访问, 不需要输入密码就可以登录数据库了?
来源: http://www.bubuko.com/infodetail-2478562.html