1、mysql 安装
第一步 下拉镜像
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
第四步 删除mysql容器,重新创建容器
先停止容器;再删除容器
docker stop mysql;
docker rm mysql;
第五步 启动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 查看是否启动成功
2、恢复mysql数据库备份的sql文件
第一步 Navicat 连接mysql
第二步 创建数据库 ,运行sql文件
1至此数据库备份sql ,导入docker容器 mysql.当然若无数据库工具,可直接在docker下命令导入sql文件,恢复数据。如下
2( docker mysql 导入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
3、进入Docker容器下的MySQL数据库
查询备份数据是否恢复成功
第一步 首先查看Linux环境下所有的docker容器.(目的是找到MySQL容器镜像名称).
docker ps
第二部 进入容器
docker exec -it {image} bash
第三步 输入MySQL账号和密码进行登录.
mysql -u root -p{passwor}
第四步 显示所有的数据库.
show databases;
第五步 使用某一个数据库
use {dbname};
第六步 执行数据库操作
show tables;
select * from xx_table;
至此!!!docker数据库安装、恢复、查询告一段落了;