设置root密码后,为什么MYSQL仍允许我在没有命令行密码的情况下登录?我可以在root unix提示符下输入“
mysql”,它要求没有密码,但仍允许root访问.我不明白为什么“mysql -u root”现在不问我在帐户上设置的密码.
另外,我无法以“root”身份从远程计算机登录mysql.我没有在下面正确配置吗?我收到错误:“主机…不允许连接到这个MySQL服务器.我没有为’%’配置它吗?
这是我的用户表:
mysql> select host,user,password from user; +-----------+------+-------------------------------------------+ | host | user | password | +-----------+------+-------------------------------------------+ | localhost | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | % | root | | | 127.0.0.1 | root | | | ::1 | root | | | localhost | | | | % | | | +-----------+------+-------------------------------------------+ 6 rows in set (0.00 sec)
解决方法
看起来密码是在’root’@’localhost’用户条目上设置的,而不是在’root’@’%’条目上设置的;基于此,将允许无密码身份验证.
出于安全考虑,请重新考虑允许从任何地方进行root访问.如果确实需要它,那么只需删除localhost规范:
drop user 'root'@'localhost'; drop user 'root'@'127.0.0.1'; drop user 'root'@'::1';
并设置’root’@’%’用户的密码:
set password for 'root'@'%' = password('passwordhere');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。