docker迁入迁出mysql
docker迁出mysql数据库
测试环境:
|
docker服务器 |
mysql服务器 |
|
|
IP |
192.168.163.19 |
192.168.163.16 |
|
操作系统 |
CentOS7.8 |
CentOS7.8 |
|
docker版本 |
Docker18.09.9 |
/ |
|
数据库版本 |
MySQL8.0.22 |
MySQL8.0.22 |
1.查看docker相关情况
[root@docker-test /data/mysql/data]$ docker ps

启动mysql并映射转储目录到本地服务器,当前情况只适用于没有建立mysql实例时,启动的时候映射目录,如果已经启动实例,就需要更改其他配置文件来完成转储
[root@docker-test ~]$ docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql-test -v /data/mysql/data:/var/lib/mysql -p 3306:3306 mysql
9b1cc179d909
2.选择指定导出的数据库进行mysqldump,指定到数据文件的目录下进行备份
root@9b1cc179d909:/# mysqldump -uroot -p hzh > /var/lib/mysql/hzh20210115.sql
Enter password:

3.本地映射的mysql目录中,查看/data/mysql/data服务器转储目录中已存在sql文件

4.将备份的sql文件传输到指定恢复的数据库中/data/mysql/db_hzh/data路径下
[root@docker-test /data/mysql/data]$ scp hzh20210115.sql root@192.168.163.16:/data/mysql/db_hzh/data

5.将指定文件授权并进行恢复
chown mysql:mysql /data/mysql/db_hzh/data/hzh20210115.sql
mysql> create database hzh;
Query OK, 1 row affected (1.00 sec)
mysql> use hzh;
Database changed
mysql> source /data/mysql/db_hzh/data/hzh20210115.sql

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| hzh |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test_20210110 |
| testabc |
+--------------------+
7 rows in set (0.00 sec)
mysql>
mysql>
mysql> use hzh;
Database changed
mysql> show tables;
+----------------+
| Tables_in_hzh |
+----------------+
| delivery_trade |
| test01 |
| test02 |
| test03 |
+----------------+
4 rows in set (0.00 sec)
mysql> select count(*) from test01;
+----------+
| count(*) |
+----------+
| 45 |
+----------+
1 row in set (0.02 sec)

6.至此恢复完成,主要步骤是将docker中的mysql数据目录转储映射到本地服务器目录
mysql迁移到docker中
1.将需要迁移的数据库进行备份
[mysql@localhost /usr/local/mysql/bin]$ ./mysqldump -uroot -p -S /data/mysql/db_hzh/mysql.sock --default-character-set=utf8 --set-gtid-purged=off --databases testabc test_20210110 > /usr/local/mysql/test_dump.20210115.sql

2.将备份文件传到docker服务器中
[mysql@localhost /usr/local/mysql]$ scp test_dump.20210115.sql root@192.168.163.19:/data/mysql/data
3.进入mysql进行数据备份恢复

mysql> create database test_20210110;
Query OK, 1 row affected (0.01 sec)
mysql> create database testabc;
Query OK, 1 row affected (0.00 sec)
mysql> source /var/lib/mysql/test_dump.20210115.sql
Query OK, 0 rows affected (0.00 sec)

至此mysql数据迁移docker容器中结束
docker迁入迁出mysql的更多相关文章
- 【架构】docker环境搭建mysql主从
序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...
- linux小白成长之路8————访问Docker中的mysql
[内容指引] 本篇实战演示如何操作Docker中的mysql数据库,包含以下五个知识点: 登录容器: 登录mysql: 运行SQL指令创建数据库: 退出mysql: 退出容器: 1.登录容器 我们在上 ...
- 在docker中安装mysql
#!/bin/sh # 安装docker # 在docker中安装mysql # 解决了docker容器中无法输入中文的问题 ##########################安装docker # ...
- docker上配置mysql主从复制
1.在docker上启动2台mysql容器:(这里3306为主,3307为从) docker run -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 - ...
- Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
首先本地 拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6 下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 doc ...
- Docker 搭建 Tomcat + Mysql
Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...
- windows Docker Desktop 搭建mysql,mssql和redis服务
其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下 1.首先是pull image , docker pull mysql 2.启动服务 docke ...
- 在docker中使用mysql数据库,在局域网访问
1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...
- Docker Images for MySQL Group Replication 5.7.14
In this post, I will point you to Docker images for MySQL Group Replication testing. There is a new ...
随机推荐
- AcWing 362. 区间
听书上说有贪心 + 数据结构的做法,研究了一下. 朴素贪心 考虑把所有线段按照右端点 \(b\) 从小到大排序,依次考虑每一条线段的要求: 如果已经满足要求则跳过 否则尽量选择靠后的数(因为之后的线段 ...
- HDFS 操作命令
本地文件系统创建一个文件,输入带姓名学号信息. 查看新建文件所在目录 查看新建文件内容 将此文件上传到HDFS文件系统上的用户目录 HDFS上查看相应目录 HDFS上查看文件内容 HDFS上查看文件大 ...
- Excel优雅导出
流程 原来写过一篇文章,是介绍EasyExcel的,但是现在有些业务需要解决,流程如下 1.需要把导出条件转换成中文并存入数据库 2.需要分页导出 3.需要上传FTP或者以后上传OSS 解决方案 大体 ...
- 算法(Java实现)—— 分治算法
分治算法 分治算法的设计模式 基本思想 把复杂问题分解成若干互相独立容易求解的子问题 经典问题 二分搜索 大整数乘法 棋盘覆盖 合并排序 快速排序 线性时间选择 最接近点对问题 循环赛日程表 汉诺塔 ...
- Flink怎么做到精确一次的?
使用 分布式快照机制 和 两阶段提交 两阶段提交 在 Flink 中两阶段提交的实现方法被封装到了 TwoPhaseCommitSinkFunction 这个抽象类中,我们只需要实现其中的beginT ...
- 基于excel实现接口自动化测试
本文档介绍如何使用excel管理接口测试用例并一键执行的实现方式,其中包括 python 读写excel, request库的基本操作,接口用例的设计 接口用例设计 用例字段描述 被依赖表达式: 示例 ...
- 免杀shellcode并绕过杀毒添加自启动
https://www.wtfsec.org/posts/%E5%85%8D%E6%9D%80shellcode%E5%B9%B6%E7%BB%95%E8%BF%87%E6%9D%80%E6%AF%9 ...
- php代码审计小技巧
1.file_put_contents()函数:众所周知此函数是将一个字符串写入至文件中. 看到此函数说明当传入数据为数组时,会被PHP强制转换为字符串,因此会绕过正则达到getshell的目的. & ...
- grafana 的主体架构是如何设计的?
grafana 的主体架构是如何设计的? grafana 是非常强大的可视化项目,它最早从 kibana 生成出来,渐渐也已经形成了自己的生态了.研究完 grafana 生态之后,只有一句话:可视化 ...
- 最火的分布式调度系统 XXL-JOB 安装和简单使用
唉,在谈文章之前先说一下自己的情况.原计划是在上周六写完这篇文章的,然而周六的时候打开电脑的,按照平常"惯例",先补一些 "黑色五叶草"/"进巨&qu ...