Как пропустить разрешение имен в Mysql8 и вместо этого использовать IP-адреса?

Как пропустить разрешение имен в Mysql8 и вместо этого использовать IP-адреса?

Я пытаюсь отключить разрешение имен 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

Однако я все еще могу подключиться к нему через localhost, что для меня не имеет смысла.

mysql -h localhost -u root -p -P 3412

Я провел небольшое исследованиездесь:

Если вы решили использовать skip-name-resolve, убедитесь, что ваши привилегии подключения к MYSQL настроены на разрешение IP-адресов, а не хостов.

В большинстве систем для локального сервера MySQL вам потребуется использовать host=127.0.0.1 для сетей ipv4 и host=::1 для сетей ipv6 вместо классического «host=localhost».

Почему я все равно могу подключиться через localhost, если разрешение DNS отключено?

решение1

MySQL обрабатывает подключение localhostпо-особому. В этом случае он подключается через сокет домена UNIX, а не через TCP, и строка localhostпо-прежнему используется для аутентификации пользователя.

Связанный контент