• 连接本地mysql容器


    本文已参与「新人创作礼」活动,一起开启掘金创作之路。

    前言

    使用的是macOS系统,但是docker命令都是一样的。本地想简单连接个mysql数据库,但是本地没有安装mysql,先不用远程服务器了,就用docker简单的起个mysql容器。已经安装Docker Desktop,mac比较简单,直接下载dmg安装即可。

    一、启动镜像

    已经安装好docker,可以用docker info查看状态和信息,也可以查看菜单栏有小🐳的图标,即启动成功。

    1、下载mysql镜像
    docker pull mysql  // 直接下载了最新版本的
    
    • 1
    2、查看镜像
    ~ docker image ls 或者 docker images
    REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
    mysql        latest    7b94cda7ffc7   6 days ago   446MB
    
    • 1
    • 2
    • 3
    3、启动mysql实例
    docker run --name mysql -d -p 6666:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
    
    // --name 为mysql的实例设置别名
    // -d 以守护进程运行(后台运行)
    // -p 6666为对外暴露的端口(随便选的),3306是内部端口
    // -e MYSQL_ROOT_PASSWORD 设置mysql登录密码
    // 最后的mysql是启动的镜像名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    4、查看启动容器
    ~ docker ps
    CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                               NAMES
    0d265e254add   mysql:latest   "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   33060/tcp, 0.0.0.0:6666->3306/tcp   mysql
    
    docker ps -a  // 查看所有容器(运行中、未运行)
    docker inspect mysql // 查看容器信息
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    5、查看端口

    如果忘记容器映射端口,可以通过docker port 容器名 查看,

    ~ docker port mysql
    3306/tcp -> 0.0.0.0:6666
    
    • 1
    • 2

    或者连接数据库端口报错时,检验端口是否开放,容器外命令行执行nc -vz -w 2 127.0.0.1 6666

    ~ nc -vz -w 2 127.0.0.1 6666
    Connection to 127.0.0.1 port 6666 [tcp/*] succeeded!
    
    • 1
    • 2
    6、连接mysql数据库

    启动成功后可以通过localhost:6666(暴露的端口),root和123456(密码)连接mysql数据库了,工具可以使用navicat或者DBeaver都行。

    这里使用的DBeaver,填入容器对应的端口等信息,可以正常连接成功。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9nyPVYoc-1667278819179)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/10ff00c45ad240f2a0789b482f25761c~tplv-k3u1fbpfcp-watermark.image?)]

    执行准备好的sql文件,成功导入数据。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-McB98a3w-1667278819181)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9f063754caa0432fa9a24fbcf57bab63~tplv-k3u1fbpfcp-watermark.image?)]

    7、停止启动

    通过容器ID或容器名 停止启动容器,数据不会丢失。不过如果删除后数据丢失了,可以挂载文件。

    docker stop mysql  // 停止mysql(容器名)容器
    docker start mysql  // 启动被停止的mysql(容器名)容器
    
    • 1
    • 2

    二、操作容器

    1、进入容器内部
    docker container exec -it mysql /bin/bash
    // mysql是上面起的容器别名
    
    • 1
    • 2
    2、登录mysql
    bash-4.4# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.
    
    • 1
    • 2
    • 3
    3、mysql相关操作
    show databases;  // 查看数据库
    create database test;  // 创建数据库
    
    • 1
    • 2
  • 相关阅读:
    python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
    数据结构与算法课后题-第二章(顺序表)
    MyEclipse 2017 安装与pj
    企业架构LNMP学习笔记17
    Linux 禁止用户或 IP通过 SSH 登录
    Nautlius Chain主网正式上线,模块Layer3时代正式开启
    List集合
    PTA 6-1 删除字符串中所有*
    Leetcode 75.颜色分类
    Linux 文本处理命令 - umask
  • 原文地址:https://blog.csdn.net/Vanessa_Li/article/details/127631707