如何在mysql命令中更改默认主机?

时间:2013-09-10 12:16:17

标签: mysql

我想为特定用户显示授权,因此我输入了这样的内容。

mysql> show grants for username@localhost;

但通常我只在localhost中使用mysql。如何设置默认主机名,以便我可以像这个表达式一样使用?

mysql> show grants for username;

1 个答案:

答案 0 :(得分:2)

你做不到。由于SHOW GRANTS依赖于GRANT语法本身,它将使用由MySQL定义的用户命名规则 - 并且它明确定义了如果您没有为用户指定hostname部分您的GRANT声明 - 它将被视为%而无其他方式:

  

帐户名称和密码

     

用户值表示GRANT所在的MySQL帐户   声明适用。适用于向用户授予权限   任意主机,MySQL支持在表单中指定用户值   USER_NAME @ HOST_NAME。如果user_name或host_name值合法,则为   不带引号的标识符,您无需引用它。但是,引号   必须指定包含special的user_name字符串   字符(例如“ - ”)或包含特殊字符的host_name字符串   字符或通配符(例如“%”);例如,   'test-user'@'%.com'。分别引用用户名和主机名。

     

您可以在主机名中指定通配符。例如,   user_name@'%.example.com'适用于任何主机的user_name   example.com域和user_name@'192.168.1.%'适用于user_name   对于192.168.1 C类子网中的任何主机。

和:

  

简单格式 user_name 是user_name @'%'的同义词。

(来自相应的手册页)。要更具体地了解命名规则 - 请参阅此manual page(在定义帐户名称时,您会找到有关未指定的主机名的相同答案)