如何为mySQL中的所有用户授予所有权限?
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
我应该更换用户名以便为给定IP上的每个用户提供它?即使它是''
,但输入中根本没有用户名?
我在用户名中尝试了*
和%
,但这没有帮助。
答案 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