我正在学习如何使用查询创建用户。我发现以下内容正在我的localhost上工作,但我不确定百分号(%)的含义。它创建了用test_user
作为主机“主机”的用户%
,如phpMyAdmin中所示,而不是像我其他用户那样的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';
答案 0 :(得分:2)
MySQL中的%
字符是字符串的通配符。使用%
作为用户的主机名允许他们从任何主机进行连接。
您可以在此处找到有关它的更多信息:MySQL account name reference
答案 1 :(得分:1)
%
是MySQL通配符,类似于正则表达式和其他几个地方的*
。
在此,它决定test_user
可以从任何IP连接。
答案 2 :(得分:1)
据我所知,%sign是SQL中的通配符。因此,这意味着test_user的主机能够从任何主机/ IP连接。