고정 표시기 MySQL의 서비스를 사용하여 구축

첫째, 고정 표시기를 설치

Windows 및 Mac 버전은 공식 웹 사이트 고정 표시기 바탕 화면에 직접 다운로드 할 수 있습니다

리눅스 설치 방법은 https://www.cnblogs.com/myzony/p/9071210.html 참조 할 수 있습니다

당신은 성공적인 설치 여부를 확인하기 위해 셸에서 다음 명령을 입력 할 수 있습니다 : sudo docker version

둘째, 미러를 생성

  1. 공식 이미지 당겨 (우리는 5.7 선택 여기를 다시 작성하지 않는 경우 버전 번호가 자동으로 최신 버전을 가져옵니다)

    docker pull mysql:5.7   # 拉取 mysql 5.7
    docker pull mysql       # 拉取最新版mysql镜像

    MySQL의 문서 주소

  2. 그 성공을 끌어 확인

    $ sudo docker images
  3. 일반적으로 당신은 디렉토리 매핑 데이터베이스 컨테이너를 만들 필요가 없습니다

    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
  4. 당신은 디렉토리 맵을 만들려면

    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 : ":"호스트와 용기 사이의 디렉토리 매핑하기 전에 호스트 디렉토리로는, 컨테이너 디렉토리 다음에
  5. 선박이 제대로 작동 확인

    docker container ls
    • 당신은 시간을 만들고, 컨테이너 ID, 컨테이너에 거울을 볼 명령을 시작할 수 있습니다, 상태, 포트 매핑 정보, 선박의 이름

mysql을 연결, 세 번째

  1. MySQL의 클라이언트에 고정 표시기 로컬 연결

    sudo docker exec -it mysql bash
    mysql -uroot -p123456
  2. MySQL을 사용 Navicat를 원격 연결

    난 단지 윈도우와 리눅스를 찾지 못했습니다, Navicat는 Premiun (아래)의 맥 버전을 발견했다. 당신은 자신을 찾아보실 수 있습니다.

    바이두 클라우드 연결 암호 : qps3 (유명한 공유 웹 사이트의 해적에서 패키지 및 친구 chaosgod 및 jor_ivy 덕분에)

    IMG

    IMG

    설치 후 "에서 zh-Hans.lproj이"/ 내용을 넣어 / 자료는 중국 패키지를 복사합니다. (응용 프로그램을 마우스 오른쪽 패키지 내용보기)

  3. 원격 접속 소프트웨어를 사용하는 경우 문제에주의를 기울여야합니다

    함께 3306 개 컨테이너 컨테이너 포트 및 호스트를 만들 때 우리는 3306 포트 매핑, 그래서 우리는 방문해야한다 :

    host: 127.0.0.1
    port: 3306
    user: root
    password: 123456
  4. 당신의 선박이 정상적으로 작동하지만, 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

추천

출처www.cnblogs.com/sablier/p/11605606.html