我试图禁用DNS名称解析,因为我有许多其他服务器连接到中央数据库。DNS解析速度慢,显然可以像这样禁用:
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
port=3412
max_connections=500
skip-name-resolve然而,我仍然可以通过本地主机连接到它,这对我来说是没有意义的。
mysql -h localhost -u root -p -P 3412我做了一些研究,这里:
如果选择使用跳过名称解析,请确保将MYSQL连接权限设置为允许IP,而不是主机。在大多数系统中,对于本地MySQL服务器,您需要为ipv4使用host=127.0.0.1,为ipv6网络使用host=::1,而不是使用经典的“host=localhost”。
如果DNS解析被禁用,为什么我仍然可以通过本地主机进行连接?
发布于 2020-12-05 19:57:12
MySQL专门处理与localhost的连接。在这种情况下,它通过UNIX域套接字连接,而不是通过TCP连接,并且字符串localhost仍然用于用户身份验证。
https://serverfault.com/questions/1045136
复制相似问题