Docker之十九: 使用 Docker 在 Linux上 部署 MySQL

使用 Docker 部署 MySQL Server 的基本步骤

MySQL Docker 镜像是专门为 Linux 平台构建的。其他平台不受支持,用户在这些平台上使用 MySQL Docker 镜像是有风险的。

下载 MySQL Server 镜像

下载 MySQL Community Edition 镜像

docker pull mysql/mysql-server:tag

下载 MySQL Enterprise Edition 镜像

要下载 MySQL Enterprise Edition 映像,请访问 My Oracle Support 网站,登录到您的 Oracle 帐户,然后在登录页上执行以下步骤:

  • 选择 Patches and Updates 选项卡。
  • 选择 Patch Search -> Search -> Product or Family (Advanced)
  • Product 字段中输入“MySQL Server“,在 Release 字段中输入所需要的版本号。
  • 使用其他过滤器的下拉列表选择 Descriptioncontains,然后在文本字段中输入”Docker“。
  • 单击 search 按钮,然后从结果列表中选择所需的版本,然后单击 ***Download***按钮。
  • 在出现的文件下载对话框中,单击并下载 Docker 映像的 .zip 文件。
    在这里插入图片描述
    解压下载的 .zip 压缩包以获得其中的 mysql-enterprise-server-version.tar,然后执行下面的命令加载镜像:
docker load -i mysql-enterprise-server-version.tar

加载完成后,查看镜像:

shell> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB

启动 MySQL Server 实例

为 MySQL Server 启动新的 Docker 容器,请使用以下命令:

docker run --name=container_name  --restart on-failure -d image_name:tag
# --name=container_name 自定义容器名称
# --restart on-failure 设置 Mysql Server 的重启策略 on-failure

实例:

docker run --name=mysql1 --restart on-failure -d mysql/enterprise-server:8.0

查看 Mysql 容器运行状态:

docker ps

监视 Mysql 后台容器输出:

docker logs mysql1

初始化完成后,命令的输出将包含为root用户生成的随机密码;例如,使用以下命令检查密码:

shell> docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

从容器内连接到 MySQL Server

一旦服务器准备就绪,您就可以在刚刚启动的 MySQL Server 容器中运行 MySQL 客户端,并将其连接到 MySQL Server。使用 docker exec-it 命令在您已经启动的 Docker 容器中启动 MySQL 客户端,如下所示:

docker exec -it mysql1 mysql -uroot -p

系统提示时,输入生成的 root 密码。由于 MYSQL_ONETIME_PASSWORD 选项在默认情况下为 TRUE,因此在将 MySQL 客户端连接到服务器后,必须通过发出以下语句来重置服务器根密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

进入容器命令

shell> docker exec -it mysql1 bash
bash-4.2#

停止或删除 Mysql 容器

# 停止 MySQL Server 容器
docker stop mysql1
# 开启 MySQL Server 容器
docker start mysql1
# 重启 MySQL Server 容器
docker restart mysql1

# 删除 MySQL Server 容器,先停止,再删除
docker stop mysql1
docker rm mysql1

# 如果希望同时删除服务器数据目录的 Docke r卷,请在 docker rm 命令中添加 -v 选项。

升级 MySQL Server 容器

本节我们将讨论当服务器的数据和配置已保存在主机上,如何升级 Mysql。

按照以下步骤将 Docker 安装的 MySQL 5.7 升级到 8.0

  • 停止 MySQL 5.7 服务器(本例中容器名称为 mysql57):

    docker stop mysql57
    
  • 下载 MySQL 8.0 Server Docker 镜像。

  • 启动一个新的 MySQL 8.0 Docker 容器(在本例中名为 mysql80),并使用主机上保存的旧服务器数据和配置:

    docker run --name
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二流人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值