使用容器化技术部署mysql服务

MySQL服务是常见的数据存储服务,而 Docker 容器化技术极大方便服务的可移植性,让开发者不用为重复配置环境而烦恼。本文同时介绍了如何使用Navicat连接远程部署好的mysql服务。

一、下载并运行MySQL镜像

  1. 从docker hub上拉取mysql镜像:docker pull mysql
    在这里插入图片描述
    查看是否下载成功:docker images
    在这里插入图片描述

  2. 根据下载好的mysql镜像创建容器:docker run --name t1-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

    • t1-mysql 为 容器名词
    • 123456 为 MySQL root用户的密码
    • -p 3306:3306 表示要将容器的3306端口映射到本机的3306端口
    • -d 表示后台运行容器,并返回容器ID

    注意:如果不加 -p 3306:3306,则在Windows中的Navicat将连不上中该容器内的mysql服务
    在这里插入图片描述
    查看容器是否启动:docker ps
    在这里插入图片描述
    t1-mysql 加了 -p 3306:3306,而 x-mysql 没有指定本机的映射端口

  3. 进入t1-mysql容器:docker exec -it 046ec48622a5 /bin/bashdocker exec -it t1-mysql bash 都行
    在这里插入图片描述
    使用 mysql -u root -p 命令(账户为root,密码为123456)登入mysql 发现报错,因为此时mysql服务还没有启动
    等待一定时间,当执行 pidof mysqld 命令 能输出pid,则说明mysql服务启动了(使用 service mysqld status 命令来查看mysql 的启动状态可能无效)
    在这里插入图片描述
    可以看到登录成功,docker hub 的mysql镜像为我们提供了四张表

二、使用Navicat 连接 docker 容器(t1-mysql)

  1. ipconfig 查看本机ip地址:
    在这里插入图片描述

  2. 打开Navicat,文件→新建连接→MySQL:
    在这里插入图片描述
    密码是:123456,然后点击确定
    可以看到已经连接成功了
    在这里插入图片描述
    查看3306端口被占用情况:netstat -aon | findstr 3306
    在这里插入图片描述

将已有的 sql 文件导入数据库中

先创建一个database:
在这里插入图片描述
然后选中该数据库,运行SQL文件:
在这里插入图片描述
在这里插入图片描述
进入容器可以看到corpus数据库导入成功:
在这里插入图片描述

使用Navicat进行数据库迁移

本文展示将刚刚在MySQL中的数据库(corpus)迁移到SQLite3上,步骤如下:
连接sqlite3数据库文件(名为corpus_db.sqlite3),如何点击刚才的mysql中的corpus数据库,选择“工具 → 数据传输”:
在这里插入图片描述

在这里插入图片描述
下一步选择开始,即可进行传输
在这里插入图片描述

三、使用gitlab的cicd 部署到K8s服务器上,并通过Navicat连接

之后更新

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐