设置root密码后,为什么MYSQL仍允许我在没有密码的情况下登录?

前端之家收集整理的这篇文章主要介绍了设置root密码后,为什么MYSQL仍允许我在没有密码的情况下登录?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
设置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');

猜你在找的Linux相关文章