>운영 및 유지보수 >Docker >docker로 설치된 mysql에 원격으로 접속할 수 없으면 어떻게 해야 합니까?

docker로 설치된 mysql에 원격으로 접속할 수 없으면 어떻게 해야 합니까?

WBOY
WBOY원래의
2022-07-22 15:35:189550검색

해결책: 1. mysql 컨테이너에 로그인한 다음 mysql을 입력합니다. 구문은 "docker exec -it mysql /bin/bash..."입니다. 2. "alter user 'root'@'%'를 사용합니다. with mysql_native_password by '...';" 로그인 비밀번호를 변경합니다. 3. navicat을 사용하여 mysql에 원격으로 연결합니다.

docker로 설치된 mysql에 원격으로 접속할 수 없으면 어떻게 해야 합니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, docker 버전 19.03, Dell G3 컴퓨터.

docker가 mysql을 설치했는데 원격으로 접속할 수 없으면 어떻게 해야 하나요?

#docker installs mysql

docker pull mysql
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql

이때 navicat이 mysql에 원격으로 접속하면 다음과 같은 오류 메시지가 뜹니다:

해결책:

1 가상 머신의 mysql 컨테이너에 로그인한 다음 mysql

docker exec -it mysql /bin/bash
mysql -uroot -p
Enter password: 
mysql> select host,user,plugin,authentication_string from mysql.user;


을 입력합니다. 참고: 호스트는 %입니다. 이는 로컬 호스트에 제한이 없음을 의미합니다. 로컬 머신은 mysql_native_password 이외의 플러그인을 사용하므로 비밀번호를 변경해야 합니다

2. 비밀번호를 변경하세요

mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123';
mysql> flush privileges;
mysql> select host,user,plugin,authentication_string from mysql.user;

3. 위 그림이 나타나면 navicat을 사용하여 다시 원격으로 mysql에 연결하고 성공이 이루어집니다.

추천 학습: "docker 비디오 튜토리얼"

위 내용은 docker로 설치된 mysql에 원격으로 접속할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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