>  기사  >  데이터 베이스  >  Docker MySQL을 해결하는 방법 호스트에서 액세스할 수 없습니다.

Docker MySQL을 해결하는 방법 호스트에서 액세스할 수 없습니다.

WBOY
WBOY앞으로
2023-05-26 13:55:061549검색

1 문제 설명

DockerMySQL 컨테이너를 시작한 후 localhost 액세스를 위한 사용자를 만듭니다. Docker启动MySQL容器后,创建一个localhost访问的用户:

create user test@localhost identified by 'test';

但是在宿主机中无法通过该用户登录:

mycli -u test

Docker MySQL을 해결하는 방법 호스트에서 액세스할 수 없습니다.

2 原因

Docker中的MySQL创建localhost的用户只能在Docker内部访问,而不能通过外部访问。

至于为什么能在宿主机访问root,是因为默认存在两个root,分别是:

  • root@localhost

  • root@%

Docker MySQL을 해결하는 방법 호스트에서 액세스할 수 없습니다.

test只有一个localhost

Docker MySQL을 해결하는 방법 호스트에서 액세스할 수 없습니다.

3 解决方案

创建test@%或者创建test@172.17.0.1

create user test@% identified by 'test';
create user test@172.17.0.1 identified by 'test';

그러나 전달할 수 없습니다. 호스트 시스템 이 사용자는 로그인되어 있습니다: 🎜rrreee🎜Docker MySQL을 해결하는 방법은 다음과 같습니다. 호스트에서 액세스 가능🎜🎜2 이유 🎜🎜 DockerMySQL에서 localhost를 생성한 사용자는 Docker 이며 외부에서 액세스할 수 없습니다. 🎜🎜호스트 시스템에서 root에 액세스할 수 있는 이유는 기본적으로 두 개의 root가 있기 때문입니다. 🎜
    🎜root@localhost🎜
  • 🎜root@%🎜
🎜호스트에서 Docker MySQL에 접근할 수 없는 문제를 해결하는 방법🎜🎜그리고 test에는 localhost가 하나만 있습니다.🎜🎜호스트에서 Docker MySQL에 액세스할 수 없습니다. 해결 방법🎜🎜3 Solution🎜🎜 test@% 생성 또는 test@172.17.0.1 생성: 🎜아아아아

위 내용은 Docker MySQL을 해결하는 방법 호스트에서 액세스할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제