1

我正在学习如何使用查询创建用户。我发现以下内容正在我的本地主机上工作,但我不确定百分号 (%) 的含义。它创建用户作为主机“主机”,如 phpMyAdmin 中所示,而不是像我拥有的​​其他用户那样的test_user主机。%localhost

CREATE USER 'test_user'@'%' IDENTIFIED BY 'password';

另外,在为该用户分配权限时我会做错什么?

这不起作用:

GRANT SELECT, UPDATE ON test_db.* TO 'test_user'@'localhost';

这有效:

GRANT SELECT, UPDATE ON *.* TO 'test_user'@'localhost';
4

3 回答 3

2

MySQL 中的%字符是字符串的通配符。将 a%作为用户的主机名允许他们从任何主机进行连接。

您可以在此处找到有关它的更多信息:MySQL 帐户名称参考

于 2013-05-30T00:00:38.003 回答
1

%是 MySQL 通配符,类似于正则*表达式和其他几个地方。

在这里,它决定test_user可以从任何 IP 连接。

于 2013-05-30T00:00:52.363 回答
1

据我所知,% 符号是 SQL 中的通配符。所以这意味着 test_user 的主机能够从任何主机/IP 连接。

于 2013-05-30T00:01:24.137 回答