【发布时间】:2019-12-06 15:18:11
【问题描述】:
所以基本上当你创建一个用户并授予创建的用户授权时,'%' 和 'localhost' 的区别是什么。
当你创建/授予一个用户时会发生什么 'localhost' 和 '%' 每个
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
vs
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON db.* TO 'user'@'localhost';
vs
GRANT ALL PRIVILEGES ON db.* TO 'user'@'%';
似乎如果我使用“localhost”创建用户,这意味着我只能在本地服务器中登录用户,而不是从远程登录。就'localhost'的授权而言,这是否意味着用户只能从本地服务器访问数据库,而不能从远程访问,对吗?
【问题讨论】:
-
谢谢,但我知道 % 是什么意思。我只想知道'%'和'localhost'在创建用户和给予授权时的比较
-
我稍微改变了这个问题。你能检查一下吗? @pnorton
-
Hi Byeonggil 你怎么读 CREATE USER 'user'@'%' IDENTIFIED BY 'password'; ?你测试了吗?
-
参考:dev.mysql.com/doc/refman/5.7/en/account-names.html ... 围绕被问的问题跳舞。在 MySQL 中,这两个语句创建两个独立且不同的用户,每个用户都有自己的密码和权限。 (
@'localhost'仅用于连接 Unix 套接字。@'%'允许从任何 IP 地址连接...
标签: mysql