MySQL:主机列中的 % 代表什么以及如何更改用户密码

2024-02-04

嗯,这就是我能看到的:

select host, user from mysql.user;

+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | me               |
| 127.0.0.1 | root             |
| ::1       | root             |
| localhost |                  |
| localhost | debian-sys-maint |
| localhost | root             |
| ubuntu    |                  |
| ubuntu    | root             |
+-----------+------------------+

我以 root 身份输入并希望更改用户“me”的密码。

SET PASSWORD FOR 'me'@'%' = PASSWORD('letmein');
Query OK, 0 rows affected (0.00 sec)

嗯,正如我们所看到的,没有行受到影响。

至于尝试访问,结果如下:

Access denied for user 'me'@'localhost' (using password: YES)
michael@ubuntu:/var/www/cgi-bin$ 

因此,它提到的是 localhost,而不是 %。

您能否建议我如何更改“我”的密码并解释一下 % 是什么?


您需要设置密码localhost:

SET PASSWORD FOR 'me'@'localhost' = PASSWORD('letmein');

FLUSH PRIVILEGES;

%意味着远程主机可以从任何其他服务器登录MySQL服务器,而localhost意味着您只能从同一台机器登录MySQL服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL:主机列中的 % 代表什么以及如何更改用户密码 的相关文章

随机推荐