小编典典
正如上面Ryan指出的,您需要的命令是
GRANT ALL ON *.* to user@'%' IDENTIFIED BY 'password';
但是,请注意,文档指出,要使此功能正常运行,localhost必须为同一用户创建另一个用户帐户。否则,由自动创建的匿名帐户mysql_install_db将具有优先权,因为它具有更特定的主机列。
换一种说法; 为了使用户user能够从任何服务器进行连接;需要创建2个帐户,如下所示:
GRANT ALL ON *.* to user@localhost IDENTIFIED BY 'password';
GRANT ALL ON *.* to user@'%' IDENTIFIED BY 'password';
在此处阅读完整的文档。
这是相关的参考资料:
以root用户身份连接到服务器后,可以添加新帐户。以下语句使用GRANT设置四个新帐户:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';
这些语句创建的帐户具有以下属性:
其中两个帐户的用户名是monty,密码是some_pass。这两个帐户都是具有完全权限执行任何操作的超级用户帐户。仅在从本地主机连接时才能使用“
monty” @“ localhost”帐户。“ monty” @“%”帐户将“%”通配符用于主机部分,因此可用于从任何主机进行连接。
必须同时拥有两个帐户,才能作为帐户从任何地方连接
。如果没有localhost帐户,当monty从本地主机连接时,由mysql_install_db创建的localhost匿名用户帐户将具有优先权。结果,monty将被视为匿名用户。原因是匿名用户帐户比“
monty”
@“%”帐户具有更特定的“主机”列值,因此在用户表排序顺序中排在较早的位置。(在第6.2.4节“访问控制,阶段1:连接验证”中讨论了用户表排序。)
除非我误解,否则这对我来说似乎很愚蠢。
2020-05-17