前言:本文基于docker安装MySQL,如果还没安装docker的童鞋,点击这里(超大声)安装卸载老版本docker(超详细)
一、在docker仓库搜你想要的镜像版本
docker镜像仓库
打开官网,在搜索框中输入MySQL回车,然后再在下面的输入框中输入你想要下载的版本。
复制页面右边的镜像拉取命令 如 docker pull mysql:8.0.20
下载Mysql镜像
命令 | 解释 |
---|---|
docker pull mysql:latest | 拉取最新的MySQL镜像 |
docker pull mysql:version | 拉取版本号为XXX的mysql镜像 |
二、使用docker安装MySQL
键入命令 docker images
查看是否下载成功,一般都会成功,如果失败了,再pull一次就是的了
接下来就创建并启动容器
docker run \
-d \
-p 3306:3306 \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=admin1222 \
--name mysql mysql:8.0.20
释义:
命令 | 解释 |
---|---|
docker run | 创建并启动一个容器 |
-d | 设置后台运行 |
-p 3306:3306 | 映射端口(宿主机端口:容器端口) |
-v /usr/local/mysql/conf/my.cnf:/etc/mysql/my.cnf | 将配置文件夹挂载到主机 |
-v /usr/local/mysql/data:/var/lib/mysql | 将mysql储存文件夹挂载到主机(这也就是我们常说的datadir) |
–name mysql | 将容器取名为mysql |
-e MYSQL_ROOT_PASSWORD=admin1222 | 设置密码 |
mysql:8.0.20 | 指定以哪个镜像创建容器 |
看我干什么?夹菜呀!不能喝去小孩子那一桌!!! 就这么赶赶单单!
三、docker删除MySQL(可选)
一、查看容器,复制容器id 即container id
docker ps -a
二、停止容器
docker stop 你的容器id
三、删除容器
docker rm 容器id
四、查看镜像,复制镜像id即images id
docker images
五。删除镜像(镜像可删可不删影响不大)
docker rmi 镜像id
四、迁移数据库
其实我一直都有一个疑问,与其说疑问倒不如说没有干过这事,那就是企业直接安装在Linux上的MySQL迁移到docker管理是怎样操作的?保证数据安全且用户无感?又是怎样将docker迁移到K8s管理的???
今天看docker官网的时候看到的,不管这么多先摘抄
1、创建数据库转储
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
2、从转储文件恢复数据
docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql
花自飘零水自流,一种相思,两处闲愁。此情无计可消除,才下眉头,却上心头。