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 localhost
speziell. In diesem Fall erfolgt die Verbindung über einen UNIX-Domain-Socket, nicht über TCP, und die Zeichenfolge localhost
wird weiterhin zur Benutzerauthentifizierung verwendet.