>  기사  >  데이터 베이스  >  MySQL 사용자 호스트 이름을 정의할 때 \'%\'와 \'localhost\'를 모두 사용하는 이유는 무엇입니까?

MySQL 사용자 호스트 이름을 정의할 때 \'%\'와 \'localhost\'를 모두 사용하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-30 18:08:31310검색

Why Use Both '%' and 'localhost' When Defining MySQL User Hostnames?

MySQL 사용자 호스트 이름: 'localhost' 대 '%'

MySQL 데이터베이스를 구성할 때 다음을 사용하여 여러 사용자를 생성해야 하는 경우가 많습니다. 별도의 액세스 권한. 이러한 사용자의 호스트 이름으로 '%' 또는 'localhost'를 지정할지 여부를 결정할 때 한 가지 일반적인 논쟁이 발생합니다. 이 질문은 두 호스트 이름의 차이점을 조사합니다.

문제:

개발자는 두 명의 사용자(appuser 및 지원)에 대해 4개의 사용자 계정을 만들어야 한다고 주장합니다.

  • appuser@'%'
  • appuser@'localhost'
  • support@'%'
  • support@'localhost'

여기서 질문은 '%'-와일드카드가 겉으로는 'localhost'를 덮는다는 점을 고려하여 그러한 설정이 필요한 이유입니다.

답변:

호스트 이름 'localhost'는 MySQL에서 특별한 의미를 갖습니다. лубых TCP/IP 연결에 적용되는 '%'-와일드카드와 달리 'localhost'는 UNIX 소켓(또는 Windows 시스템의 명명된 파이프)을 통해 설정된 연결만 나타냅니다.

MySQL에서 '%'- 와일드카드는 localhost를 제외하므로 이를 별도의 호스트 이름으로 명시적으로 지정해야 합니다. 이 설정을 사용하면 다양한 네트워크 인터페이스의 사용자 액세스를 세밀하게 제어할 수 있습니다. 각 사용자에 대해 '%'와 'localhost'를 모두 지정하면 다음이 달성됩니다.

  • '%' 호스트 이름은 모든 원격 IP 주소에서 액세스를 허용합니다.
  • 'localhost' ' 호스트 이름은 UNIX 소켓(또는 명명된 파이프)을 사용하여 동일한 서버 내에서 액세스 권한을 부여합니다.

위 내용은 MySQL 사용자 호스트 이름을 정의할 때 \'%\'와 \'localhost\'를 모두 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.