赞
踩
第一步 下拉镜像
docker pull mysql:8.0.20
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
查看是否启动成功
docker ps -a
docker cp mysql:/etc/mysql /mnt/sda1/mysql8.0.20
拷贝容器的 /etc/mysql目录到 主机目录/mnt/sda1/mysql8.0.20
先停止容器;再删除容器
- docker stop mysql;
- docker rm mysql;
在系统目录下创建脚本文件mysql8.0.20.sh
- #!/bin/sh
- docker run \
- -p 3306:3306 \
- --name mysql \
- --privileged=true \
- --restart unless-stopped \
- -v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql \
- -v /mnt/sda1/mysql8.0.20/logs:/logs \
- -v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \
- -v /etc/localtime:/etc/localtime \
- -e MYSQL_ROOT_PASSWORD=123456 \
- -d mysql:8.0.20
命令解释:
-p 端口映射
--privileged=true 挂载文件权限设置
--restart unless-stopped 设置 开机后自动重启容器
-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql 挂载配置文件
-v /mnt/sda1/mysql8.0.20/logs:/logs \ 挂载日志
-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 挂载数据文件 持久化到主机,
-v /etc/localtime:/etc/localtime 容器时间与宿主机同步
-e MYSQL_ROOT_PASSWORD=123456 设置密码
-d mysql:8.0.20 后台启动,mysql
启动脚本 文件名为mysql8.0.20.sh
sh mysql8.0.20.sh
docker ps -a 查看是否启动成功
1至此数据库备份sql ,导入docker容器 mysql.当然若无数据库工具,可直接在docker下命令导入sql文件,恢复数据。如下
查看MySQL容器名称
docker ps
先上传backup.sql 到docker所在服务器目录中,拷贝sql文件到MySQL容器里
docker cp backup.sql mysql56:/backup.sql
进入MySQL容器查看mysql 是否有backup.sql文件
docker exec -it mysql56 bash
ls
执行sql导入
mysql -uroot -p${you pwd} -D ${target database} < backup.sql
查询备份数据是否恢复成功
docker ps
docker exec -it {image} bash
mysql -u root -p{passwor}
show databases;
use {dbname};
- show tables;
- select * from xx_table;
至此!!!docker数据库安装、恢复、查询告一段落了;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。