'name'@ '%'의 MySQL에 사용자를 추가하면 오류 1396이 발생하지 않습니다.


9

방금 MySQL을 사용하여 새로운 사용자를 추가하려고했습니다.

CREATE USER 'name'@'%' IDENTIFIED BY '...'

그러나 다음 오류와 함께 실패합니다.

ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

localhost에 대해서만 사용자를 추가하면 정상적으로 작동합니다.

CREATE USER 'name'@'localhost' IDENTIFIED BY '...'

나는 무엇이 문제가 될 수 있는지 전혀 모른다. 어떤 아이디어에 대해서도 감사하겠습니다.

(을 사용하고 mysql Ver 14.14 Distrib 5.1.66있습니다.)


CREATE / DROP 사용자와 비슷한 문제에 직면하여 사용자 정보에 대한 모든 권한 부여 테이블을 확인했으며 사용자 정보를 찾을 수 없었으며 모든 액세스 권한을 취소하고 사용자를 삭제하려고 시도했습니다. 변경 사항이 있으면 여기에 자세한 답변을 작성하십시오. rathishkumar.in/2018/10/…
Rathish

답변:


13

문서 에 따르면 @ 'hostname'(CREATE USER 'name')을 생략하면 MySQL은 @ '%'를 가진 것으로 해석합니다. 제공 한 오류 메시지는 시스템에 이미 사용자 'name'@ '%'이 있음을 나타냅니다.

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
mysql> CREATE USER 'name' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

사용자를 삭제 한 후에도 메시지가 표시되면 FLUSH PRIVILEGES를 실행하십시오.

추가 정보는 이 SO 질문 을 참조하십시오 .


1

mysql : 5.7 docker image를 사용하는 동안 이와 동일한 오류가 발생했습니다. 주요 실수는 root기본적으로 존재하는 사용자 를 만들려고했습니다 . 자세한 정보 : https://github.com/docker-library/mysql/issues/129

상기 링크에서 주어진 바와 같이, 용액을 설정하지 하였다 MYSQL_USERMYSQL_PASSWORD고정 표시기 화상을 시작하면서 환경 변수.


이것은 많은 도움이되었습니다! 도커에서 DB에 연결할 수없는 이유를 몰랐으며 이것이 이유인지 의심하지 않았습니다.
dingo_d 2016
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.