mysql容器部署_基于docker的mysql部署

简介

随着Kubernetes(k8s)在企业中的普及,越来越多的应用、组件需要docker化,甚至一切皆可docker。数据库mysql,相信对于研发人员来说都不陌生,特别是后台应用,mysql更是基石,因此本文将为大家简单介绍mysql的容器化安装。

环境介绍:

macOS10.14.4

docker desktop 3.1.0

mysql 8.0

步骤

docker环境的安装这里就不介绍了,百度一下你就知道。这里假设你已经安装的docker环境。下面我们就开始:

1. 从镜像仓库查询mysql镜像

docker search mysql

66ee1190bf467e121f48f29bd19b2c5f.png

2. 从镜像仓库拉取镜像

docker pull mysql:8.0

这里获取的是mysql8.0版本,当然用户也可以通过以下命令获取最新的版本。

docker pull mysql

下载完之后我们可以通过以下命令查看mysql镜像

docker images

ecf1a0524349e5aa893f558426c466c8.png

3. 创建容器,启动mysql

docker run -p 3307:3306 --name mysql8.0 \

-e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0;

执行完命令之后会返回一个容器id

08b285591e06f3b70c19b2646c79f96d.png

创建完成之后我们通过以下命令来查看容器状态,可以看到容器已经启动。

docker ps -a

acb218ba3d502ff2a51636c346d48471.png

这个时候如果我们直接使用navicate连接数据会有如下错误:

64bad678fa045a54b213d255f0410d12.png

由于Mysql5.6以上的版本修改了Password算法,这里需要更新密码算法,便于使用Navicat连接,因此我们需要进入容器修改mysql配置。

4. 进入容器

docker exec -it mysql8.0 bash

5. 连接mysql

mysql -uroot -p

6. 更改mysql配置

ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;

执行完上述步骤,再次尝试连接。

f8d4d99c6cfcb239b18acfe7ceed6a8d.png

至此简易版的mysql容器化部署就完成了。

思考

目前我们构建的mysql可以在本地环境开发使用,但是还不能用户测试或者生产,因为对于后台应用数据库至关重要,存储的数据一旦丢失,将是致命的。因此我们需要考虑以下几个问题:

数据持久化

集群环境下数据同步

容器在节点间移动。

在后续的章节中我们会逐个解决上述问题,敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值