在mysql中为主机上的所有用户授予所有权限

时间:2016-05-11 05:38:00

标签: mysql

如何为mySQL中的所有用户授予所有权限?

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

我应该更换用户名以便为给定IP上的每个用户提供它?即使它是'',但输入中根本没有用户名?

我在用户名中尝试了*%,但这没有帮助。

6 个答案:

答案 0 :(得分:2)

您可以尝试这样:

GRANT ALL PRIVILEGES ON *.* TO ''@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

manual说:

  

在这种情况下,任何从本地主机连接的用户   匿名用户的正确密码将被允许访问,具有   与匿名用户帐户关联的权限。

答案 1 :(得分:1)

这适用于我所有的MySQL用户,无论其主机名和Ips。

GRANT ALL ON <yourdbname>.* TO ''@'%' IDENTIFIED BY 'yourdbpassword';
FLUSH PRIVILEGES;

答案 2 :(得分:1)

如果您想授予所有用户所有特权,并且能够在没有密码的情况下使用 ,则命令:

GRANT ALL PRIVILEGES ON *.* TO ''@'%' IDENTIFIED BY '' WITH GRANT OPTION;

例如,如果您拥有一个名为“ my_db”的数据库并从本地主机执行操作,则该命令可以是以下命令:

GRANT ALL PRIVILEGES ON my_db.* TO ''@'localhsot' IDENTIFIED BY '' WITH GRANT OPTION;

答案 3 :(得分:0)

这应该有效:

GRANT ALL PRIVILEGES ON 'database'.'table' TO '%'@'1.2.3.4' WITH GRANT OPTION;

答案 4 :(得分:0)

通配符在mysql grant privilege命令中对用户不起作用。

如果您知道用户列表,那么您可以尝试: -

 GRANT ALL PRIVILEGES ON *.* TO 'user1'@'1.2.3.4',
 'user2'@'1.2.3.4',
 'user3'@'1.2.3.4',
 'user4'@'1.2.3.4',
 'user5'@'1.2.3.4',
 'user6'@'1.2.3.4';

答案 5 :(得分:0)

MySQL 不支持用户名中的通配符,因此您不能在一次授权中做到这一点。 见the official doc

相关问题