我根据第一个命令创建了一个用户,但无法通过localhost (linux)登录。这个链接mysqldoc表明我需要使用第二个命令块中的语法创建第二个同名用户。
mysql> CREATE USER 'myuser'@'%' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON my_upload.* TO 'myuser'@'%' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)所以我试了一下,它确实起作用了。但这是两个独立的用户吗?如果我将pw更改为一个,另一个是否会同步,或者它们是否真的是独立的用户?
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON my_upload.* TO 'myuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)发布于 2012-07-24 23:23:57
User@%将允许从所有位置访问。User@localhost将只允许从本地主机访问。他们是两个不同的用户,有两个不同的密码(虽然您可以将他们设置为相同的密码,但如果您更新一个密码,另一个密码将不会自动更新)
发布于 2012-07-24 23:25:49
基本上是的,这是两个不同的用户,(可能)具有不同的权限和(可能)不同的密码。
用户myuser@%:用户myuser,从任何host.
一个不错的读物是MySQL manual about connection access,它演示了它是如何工作的。
发布于 2017-03-27 10:53:36
我遇到了与描述相同的情况--为user@%添加一个条目不起作用。
然而,为相同的user@localhost添加一个条目将会再次开始工作。考虑到我们对%模式的理解,这似乎并不直观!
肯特在上面指出的一个问题是:我们在users表中有一个host:localhost 的条目行,但是是空白的。这显然解决了%@localhost的一个规则,在我的user@%规则之前,它被用作匹配。
Short answer -检查 user 表中的空用户名或通配符用户名。
..。我不知道那个空格是怎么来的或者是不是故意的。
https://stackoverflow.com/questions/11634084
复制相似问题