• 连接本地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
  • 相关阅读:
    【2021-TITS】Deep Learning in Lane Marking Detection: A Survey
    极智AI | 教你使用深度学习模型调试器 polygraphy
    webman跨域相关问题
    实战:docker式部署frp内网穿透-2024.7.13(测试成功)
    汉服新闻查询易语言代码
    20.Redis之缓存
    谷歌研究科学家:ChatGPT秘密武器的演进与局限
    深入了解苹果证书及其分类,提升iOS应用开发效率
    子集和问题
    Java23种设计模式-结构型模式之适配器模式
  • 原文地址:https://blog.csdn.net/Vanessa_Li/article/details/127631707