Wie kann ich die Namensauflösung in Mysql8 überspringen und stattdessen IPs verwenden?

Wie kann ich die Namensauflösung in Mysql8 überspringen und stattdessen IPs verwenden?

Ich versuche, die DNS-Namensauflösung zu deaktivieren, da viele andere Server eine Verbindung zur zentralen Datenbank herstellen. Die DNS-Auflösung ist langsam und kann anscheinend wie folgt deaktiviert werden:

[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

Ich kann jedoch immer noch über den lokalen Host eine Verbindung dazu herstellen, was für mich keinen Sinn ergibt.

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

Ich habe einige Nachforschungen angestelltHier:

Wenn Sie sich für die Verwendung von „Skip-Name-Resolve“ entscheiden, stellen Sie sicher, dass Ihre MySQL-Verbindungsberechtigungen so eingestellt sind, dass IPs und nicht Hosts zugelassen werden.

Auf den meisten Systemen müssen Sie für den lokalen MySQL-Server host=127.0.0.1 für IPv4- und host=::1 für IPv6-Netzwerke anstelle des klassischen „host=localhost“ verwenden.

Warum kann ich immer noch eine Verbindung über den lokalen Host herstellen, wenn die DNS-Auflösung deaktiviert ist?

Antwort1

MySQL behandelt die Verbindung zu localhostspeziell. In diesem Fall erfolgt die Verbindung über einen UNIX-Domain-Socket, nicht über TCP, und die Zeichenfolge localhostwird weiterhin zur Benutzerauthentifizierung verwendet.

verwandte Informationen