我想显示特定用户的授权,所以我这样输入。
mysql> show grants for username@localhost;
但通常我只在 localhost 中使用 mysql。如何设置默认主机名以便我可以像这个表达式一样使用?
mysql> show grants for username;
我想显示特定用户的授权,所以我这样输入。
mysql> show grants for username@localhost;
但通常我只在 localhost 中使用 mysql。如何设置默认主机名以便我可以像这个表达式一样使用?
mysql> show grants for username;
你不能这样做。由于SHOW GRANTS依赖于GRANT语法本身,它将使用 MySQL 定义的用户命名规则 - 并且它明确定义如果您没有hostname
在语句中为用户指定部分GRANT
- 它将被视为%
并且没有其他方式:
帐户名和密码
user 值表示GRANT 语句适用的 MySQL 帐户。为了适应从任意主机授予用户权限,MySQL 支持以 user_name@host_name 的形式指定用户值。如果 user_name 或 host_name 值作为不带引号的标识符是合法的,则无需引用它。但是,如果指定包含特殊字符(如“-”)的 user_name 字符串,或包含特殊字符或通配符(如“%”)的 host_name 字符串,则需要使用引号;例如,'test-user'@'%.com'。分别引用用户名和主机名。
您可以在主机名中指定通配符。例如,user_name@'%.example.com' 适用于 example.com 域中任何主机的 user_name,而 user_name@'192.168.1.%' 适用于 192.168.1 C 类子网中任何主机的 user_name。
和:
简单形式user_name是 user_name@'%' 的同义词。
(来自相应的手册页)。要更具体地了解命名规则 - 请参阅此手册页(在定义帐户名时,您会找到关于未指定主机名的相同答案)