첫째, 고정 표시기를 설치
Windows 및 Mac 버전은 공식 웹 사이트 고정 표시기 바탕 화면에 직접 다운로드 할 수 있습니다
리눅스 설치 방법은 https://www.cnblogs.com/myzony/p/9071210.html 참조 할 수 있습니다
당신은 성공적인 설치 여부를 확인하기 위해 셸에서 다음 명령을 입력 할 수 있습니다 : sudo docker version
둘째, 미러를 생성
공식 이미지 당겨 (우리는 5.7 선택 여기를 다시 작성하지 않는 경우 버전 번호가 자동으로 최신 버전을 가져옵니다)
docker pull mysql:5.7 # 拉取 mysql 5.7 docker pull mysql # 拉取最新版mysql镜像
그 성공을 끌어 확인
$ sudo docker images
일반적으로 당신은 디렉토리 매핑 데이터베이스 컨테이너를 만들 필요가 없습니다
sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
- -name : 선박의 이름은, 여기에 이름
mysql
- -e : 구성 정보, 여기에 구성 MySQL의 루트 사용자의 로그인 암호
- -p : 포트 매핑, 매핑 곳 호스트 포트 3306 (3306) 컨테이너 포트에
- -d : 소스 이미지의 이름, 여기 MySQL은 : 5.7
- -name : 선박의 이름은, 여기에 이름
당신은 디렉토리 맵을 만들려면
duso docker run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7
- -v : ":"호스트와 용기 사이의 디렉토리 매핑하기 전에 호스트 디렉토리로는, 컨테이너 디렉토리 다음에
선박이 제대로 작동 확인
docker container ls
- 당신은 시간을 만들고, 컨테이너 ID, 컨테이너에 거울을 볼 명령을 시작할 수 있습니다, 상태, 포트 매핑 정보, 선박의 이름
mysql을 연결, 세 번째
MySQL의 클라이언트에 고정 표시기 로컬 연결
sudo docker exec -it mysql bash mysql -uroot -p123456
MySQL을 사용 Navicat를 원격 연결
난 단지 윈도우와 리눅스를 찾지 못했습니다, Navicat는 Premiun (아래)의 맥 버전을 발견했다. 당신은 자신을 찾아보실 수 있습니다.
바이두 클라우드 연결 암호 : qps3 (유명한 공유 웹 사이트의 해적에서 패키지 및 친구 chaosgod 및 jor_ivy 덕분에)
설치 후 "에서 zh-Hans.lproj이"/ 내용을 넣어 / 자료는 중국 패키지를 복사합니다. (응용 프로그램을 마우스 오른쪽 패키지 내용보기)
원격 접속 소프트웨어를 사용하는 경우 문제에주의를 기울여야합니다
함께 3306 개 컨테이너 컨테이너 포트 및 호스트를 만들 때 우리는 3306 포트 매핑, 그래서 우리는 방문해야한다 :
host: 127.0.0.1 port: 3306 user: root password: 123456
당신의 선박이 정상적으로 작동하지만, MySQL로 액세스 할 수없는 경우, 일반적으로 다음과 같은 가능한 이유가있다 :
방화벽
# 开放端口: $ systemctl status firewalld $ firewall-cmd --zone=public --add-port=3306/tcp -permanent $ firewall-cmd --reload # 关闭防火墙: $ sudo systemctl stop firewalld
고정 표시기는 로컬 클라이언트가 원격 액세스 계정을 설정 입력해야
$ sudo docker exec -it mysql bash $ mysql -uroot -p123456 mysql> grant all privileges on *.* to root@'%' identified by "password";
원리 :
# mysql使用mysql数据库中的user表来管理权限,修改user表就可以修改权限(只有root账号可以修改) mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 2 rows in set (0.00 sec) mysql> grant all privileges on *.* to root@'%' identified by "password"; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | | % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E | +--------------+------+-------------------------------------------+ 3 rows in set (0.00 sec)
참고 연결 :
https://blog.csdn.net/jor_ivy/article/details/81323199
https://www.52pojie.cn/thread-727433-1-1.html