programing

사용자 'User'@%'와 'User'@'localhost'가 같지 않습니까?

bestcode 2022. 9. 5. 23:03
반응형

사용자 'User'@%'와 'User'@'localhost'가 같지 않습니까?

첫 번째 명령에 따라 사용자를 생성했지만 localhost(linux)를 통해 로그온할 수 없습니다. 링크 mysqldoc은 명령어 두 번째 블록의 구문을 사용하여 동일한 이름으로 두 번째 사용자를 작성해야 함을 나타냅니다.

mysql> CREATE USER 'myuser'@'%' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON my_upload.* TO 'myuser'@'%' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)

그래서 아래와 같이 시도해보니 효과가 있었습니다.하지만 이 두 사람은 다른 사용자인가요?한쪽의 pw를 변경하면 다른 한쪽이 동기화됩니까?아니면 다른 쪽 사용자가 실제로 다른 쪽입니까?

mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY '4myuser';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON my_upload.* TO  'myuser'@'localhost';
Query OK, 0 rows affected (0.00 sec)

User@%모든 장소에서 접속할 수 있습니다. User@localhost로컬 호스트로부터의 액세스만 허용합니다.2개의 패스워드를 가지는 2개의 다른 유저입니다(같은 패스워드로 설정할 수 있습니다만, 1개의 패스워드를 갱신해도 다른 유저는 자동적으로 갱신되지 않습니다).

기본적으로는 (가능성이) 다른 권한과 (가능성이) 다른 비밀번호를 가진 두 개의 다른 사용자입니다.

  • myuser@% : 임의의 호스트에서 접속하는 사용자 myuser.
  • myuser@localhost : localhost에서만 접속하는 사용자 myuser.

접속 액세스에 관한 MySQL 매뉴얼을 참조해 주십시오.이 매뉴얼은 접속 액세스의 원리에 대해 설명하고 있습니다.

설명과 같은 상황이 발생하였습니다. - 엔트리를 추가하는 중user@%동작하지 않았습니다.

그러나 같은 엔트리를 추가하는 중user@localhost 다시 작동하기 시작하겠지만요.우리가 이해한 바에 의하면 이건 의도적인 것이 아닌 것 같았어%패턴!

위의 Kent에 의해 식별된 문제는 다음과 같습니다.사용자 테이블의 엔트리 행이 있습니다.host:localhost 근데 빈칸이었어요이것은, 다음의 룰로 해결된 것 같습니다.%@localhost성냥으로 쓰이고 있었어요user@%규칙.

짧은 답변 - 에 공백 또는 와일드카드 사용자 이름이 있는지 확인합니다.user테이블.

그 공백이 어떻게 생겼는지, 고의였는지 전혀 모르겠어.

같은 의미라도, 다른 의미도 포함해도, 실제로는 별개의 유저입니다.

13.7.1.3. GRANT 구문

GRANT의 MySQL 및 표준 SQL 버전

MySQL과 GRANT의 표준 SQL 버전 간의 가장 큰 차이점은 다음과 같습니다.

  • MySQL은 권한을 사용자 이름뿐만 아니라 호스트 이름 및 사용자 이름의 조합과 연결합니다.

언급URL : https://stackoverflow.com/questions/11634084/are-users-user-and-userlocalhost-not-the-same

반응형