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=localhost" 대신 ipv4 네트워크의 경우 호스트=127.0.0.1, ipv6 네트워크의 경우 호스트=::1을 사용해야 합니다.

DNS 확인이 비활성화된 경우에도 여전히 localhost를 통해 연결할 수 있는 이유는 무엇입니까?

답변1

MySQL은 연결을 localhost특별히 처리합니다. 이 경우 TCP가 아닌 UNIX 도메인 소켓을 통해 연결되며 문자열은 localhost사용자 인증에 계속 사용됩니다.

관련 정보