关于数据挂载的说明:生产环境中,我们的每个服务都会经常遇到升级等维护行为,如果使用docker对mysql进行管理,容器化的管理方式,无疑是一种非常便捷的方式,但是操作过程中,数据会承担很大的风险,便于方便管理以及操作便捷,可以将容器内的数据挂载至容器外的某一目录下。
关于数据库架构化的部署:比如主从,分库等,会涉及到多容器之间的配置,可以借助一些容器的管理工具 比如k8s,或者使用数据挂载等方式解决。
下面是关于:单机版的mysql安装部署+数据挂载。
1、首先安装docker,以及docer的基本配置
包括镜像加速等,相关教程前面有讲过,可以参考
docker安装部署和卸载_咛果果的博客-CSDN博客
2、下载mysql的镜像,我们这儿选择5.7版本
[root@localhost mysql]# docker pull mysql:5.7
3、创建mysql容器同时挂载数据
docker run -d --restart=always --name mysqltest -p 3310:3306 \ -v /home/mysql/data:/var/lib/mysql \ -v /home/mysql/conf:/etc/mysql \ -v /home/mysql/log:/var/log/mysql \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.7 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_general_ci
以上是安装指令脚本,下面对各个配置进行讲解
-d 后台运行
--restart=always 设置开机重启
--name mysqltest 设置该容器的名称,这儿是自定义,可以自由备注
-p 设置端口号映射,容器外端口:容器内端口
-v 卷挂载 (容器外目录:容器内目录)这儿我们对数据目录、配置文件目录和日志目录进行了挂载,类似这些需要被持久化的数据,需要的存储至容器外,避免容器删除后数据的丢失
-e msyql的环境配置
4、测试
使用数据库连接工具连接mysql,如navcat、sqlyog等
ip:服务器宿主机的ip地址
端口:3310,用户:root,密码:123456
5、验证数据挂载是否成功
基本思路:创建一个新数据库,然后去宿主机的/home/mysql/data目录下查看是否有该库的数据记录,也可以查看日志文件目录内是否有日志文件产生。