docker部署mysql并挂载数据卷
docker部署mysql并挂载数据卷
备份mysql源文件
windows下备份数据库
# 方法一:进入到mysql安装路径下的bin文件,执行备份命令 # pg_dump -h localhost -p 数据库端口 -U 数据库用户名 -d 要备份的数据库名 > 备份后文件的路径\备份文件名 mysqldump -hlocalhost -uroot -p demo_mysql > D:\demo_mysql.sql # 方法二:通过Navicat提取sql备份文件
ubuntu下备份数据库
# mysqldump -hIP -u用户名 -p 要备份的数据库名 > 备份后文件的路径\备份文件名 mysqldump -hlocalhost -uroot -p demo_mysql > /home/demo_mysql.sql
创建数据卷
# 创建总数据卷文件夹 mkdir /home/centos/data-volume # 创建mysql数据卷文件夹 mkdir /home/centos/data-volume/mysql-volume # 创建mysql-data、databasefile、log文件夹 cd /home/centos/data-volume/mysql-volume; mkdir mysql-data; mkdir databasefile; mkdir log;
下载镜像并创建运行容器
# 下载指定镜像版本或者下载最新版本(mysql:latest) docker pull mysql:5.7.30 # 创建并运行容器 docker run -it -d --name demo-mysql \ -v /home/centos/data-volume/mysql-volume/mysql-data:/var/lib/mysql \ -p 23307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.30
参数 说明 -i 以交互模式运行容器,通常与 -t 同时使用 -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用 -d 后台运行容器,并返回容器ID –name 为容器指定一个名称 -v 绑定一个数据卷,数据卷不会随着容器的删除而消失,格式为:主机(宿主)数据卷文件或目录:容器文件或目录 -p 指定端口映射,格式为:主机(宿主)端口:容器端口 -e 设置默认用户root的密码,格式为MYSQL_ROOT_PASSWORD=密码 查看容器信息
# 查看容器是否运行 docker ps # 查看容器列表(得到容器名或者容器ID) docker ps -a # 查看容器日志 docker logs 容器名或者容器ID # 获取容器的元数据 docker inspect 容器名或者容器ID
还原数据库
通过工具或者命令把最开始备份的文件上传到/home/centos/data-volume/mysql-volume/databasefile目录下
复制备份文件至容器中
# docker cp 宿主机文件路径 容器名或者容器ID:容器文件路径 docker cp /home/centos/data-volume/mysql-volume/databasefile/demo_mysql.sql demo-mysql:/home
进入容器
# exec命令可以进入容器并且在退出时不会打断容器运行 docker exec -it demo-mysql /bin/bash
登录mysql命令行控制台
# mysql -U 用户名 -p mysql -u root -p # 输入创建容器时设置的密码
创建新的数据库(在执行还原命令前需要创建一个空的数据库)
# 以下为mysql命令行控制台状态 # 创建新的数据库(需要与原来数据库名相同) mysql> create database demo_mysql; # 查看数据库列表 mysql> show databases; # 退出控制台状态 mysql> \q
执行数据库还原命令
# mysql -u用户名 -p 数据库名(需要与原数据库名相同) < 要导入的数据库数据(demo_mysql.sql) mysql -uroot -p demo_mysql < /home/demo_mysql.sql
退出容器
exit 或者 Ctrl + D
保存日志
# 将容器的日志实时下载到指定路径: docker logs -f 容器名或者Id >> 路径/文件 & docker logs -f demo-mysql >> /home/centos/data-volume/mysql-volume/log/demo-mysql.log & #查看日志 docker logs -f demo-mysql cat /home/centos/data-volume/mysql-volume/log/demo-mysql.log
docker部署mysql并挂载数据卷相关推荐
- Docker基本操作五 (挂载数据卷)
挂载数据卷 我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器目录 docker run \--name mn \-v html:/root/html \-p 8080:80nginx ...
- Docker 安装MySQL并使用数据卷实现数据持久化
目录 一.获取镜像 二.运行容器,并做数据挂载 三.启动成功后,使用navicat连接测试一下 四.将容器删除 一.获取镜像 docker pull mysql:8.0 二.运行容器,并做数据挂载 d ...
- 使用Docker部署MySQL(数据持久化),将mysql的数据映射到本机磁盘
本文简述如何使用Docker部署mysql,同时持久化数据.我们会用到tutum-docker-mysql 这个项目来搭建一个mysql,省去重头写Dockerfile的时间. 首先我们将tutum- ...
- Docker下部署Mysql映射端口并挂载数据卷
Docker下部署Mysql映射端口并挂载数据卷 1.搜索mysql镜像文件版本 2.下载最新版本mysql 或者 下载指定版本mysql 2.1 下载最新版[一般项目不直接使用最新版] 2.2 下载 ...
- 【docker教程】docker视频教程(ubuntu)数据卷挂载、数据卷容器volume、端口映射(镜像叠加,分层复用)rootfs、bootfs(没看完)
黑马程序员Docker容器化技术,从零学会Docker教程 可以先看1-13课.以及 docker概述 文章目录 docker概述 ubuntu安装docker docker架构 配置docker镜像 ...
- docker 打包mysql_基于docker部署mysql的数据持久化问题
本人最近在使用docker部署mysql时,在持久化mysql数据时遇到了一个有趣的问题,将排查过程及思考记录在这里,以备后查. 先简单描述下我遇到的问题:在mysql容器中创建了两个数据库,然后使用 ...
- docker run 挂载卷_docker mysql配置挂载到卷
docker--将mysql配置挂载到卷 1.首先在根目录创建两个文件夹,其中config文件夹中创建my.cnf配置文件.data文件夹存放数据文件,一定要为空. /docker/mysql/con ...
- mysql挂载数据卷_docker卷挂载技术
卷技术,容器内部数据映射到宿主机上 一.直接使用命令来挂载 docker run -it -v /home/test:/home centos /bin/bash# 在主机上查看 docker运行容器 ...
- Docker 基本操作 数据卷 -- docker 数据卷基本操作、挂载数据卷
文章目录 1. docker 数据卷基本操作 1.1 容器与数据耦合的问题 1.2 数据卷介绍 1.3 数据卷的基本语法 1.4 创建一个数据卷,并查看数据卷在宿主机的目录位置 1.5 小结 2. 挂 ...
最新文章
- poj1201Intervals(差分约束)
- vue开发(2) 使用vue-cli来构建项目
- 基于JAVA+SpringMVC+Mybatis+MYSQL的公司管理系统
- linux服务器忘记ssh密码_【Linux】配置linux服务器之间ssh不用密码访问
- java代码删除本地文件_java程序实现删除本地文件
- 关于filter用户授权的例子
- 聊聊身边的嵌入式—英语学习利器点读笔
- 第十三章:Sqlserver2019数据库之Transact-SQL 语法基础及常用 SQL 函数总结
- mysql out of range,mysql保存数据提示:Out of range value for column错误
- java.sql.SQLException: 要执行的 SQL 语句不得为空白或空值
- 转载(中文、日文、韩文编码问题)
- 【Appium】Python+Appium实现支付宝蚂蚁森林自动收取能量的一种解决方案
- 150行Python代码模拟太阳系行星运转
- android的A/B到底是什么?OTA升级又是什么?
- 华中科技大学 计算机硕士,我所经历的华中科技大学计算机考研复试
- Java比较日期时间大小
- GCC源代码分析(1): GCC中的树
- HarmonyOS - 华为智慧屏网络卡顿、跳帧解决方案
- DataGrip 连接 Hive 1.1
- 【CSDN如何创建博客专栏?】