dja*_*fan 11 mysql database-administration mysql5
设置 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)
Run Code Online (Sandbox Code Playgroud)
看起来密码是在'root'@'localhost'用户条目上设置的,但不是在'root'@'%'条目上设置的;基于此,将允许无密码身份验证。
出于安全目的,请重新考虑允许从任何地方进行 root 访问。如果您确实需要它,那么只需删除 localhost 规范即可:
drop user 'root'@'localhost';
drop user 'root'@'127.0.0.1';
drop user 'root'@'::1';
Run Code Online (Sandbox Code Playgroud)
并为用户设置密码'root'@'%':
set password for 'root'@'%' = password('passwordhere');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7998 次 |
| 最近记录: |