MySQL 用户主机名:'localhost' 与 '%'
在构建 MySQL 数据库时,通常需要创建多个用户独特的访问权限。在确定是否指定“%”或“localhost”作为这些用户的主机名时,出现了一个常见的争论。这个问题深入探讨了这两个主机名之间的区别。
问题:
开发人员坚持为两个用户(appuser 和 support)创建四个用户帐户:
这里的问题是为什么这样的设置是必要的,考虑到“%”通配符似乎会覆盖“localhost”。
答案:
主机名“localhost”在 MySQL 中具有特殊意义。与适用于 любых TCP/IP 连接的“%”通配符不同,“localhost”专门指通过 UNIX 套接字(或 Windows 系统上的命名管道)建立的连接。
在 MySQL 中,“%”-通配符不包括 localhost,因此有必要将其显式指定为单独的主机名。此设置允许对来自不同网络接口的用户访问进行细粒度控制。通过为每个用户指定“%”和“localhost”,可以实现以下效果:
以上是为什么在定义 MySQL 用户主机名时同时使用 \'%\' 和 \'localhost\'?的详细内容。更多信息请关注PHP中文网其他相关文章!