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的更多相关文章

  1. 【架构】docker环境搭建mysql主从

    序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...

  2. linux小白成长之路8————访问Docker中的mysql

    [内容指引] 本篇实战演示如何操作Docker中的mysql数据库,包含以下五个知识点: 登录容器: 登录mysql: 运行SQL指令创建数据库: 退出mysql: 退出容器: 1.登录容器 我们在上 ...

  3. 在docker中安装mysql

    #!/bin/sh # 安装docker # 在docker中安装mysql # 解决了docker容器中无法输入中文的问题 ##########################安装docker # ...

  4. docker上配置mysql主从复制

    1.在docker上启动2台mysql容器:(这里3306为主,3307为从) docker run -d  -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 - ...

  5. Window中的Docker 拉取Mysql镜像 并在本地Navicate链接

    首先本地   拉取mysql镜像 以下是所有mysql镜像 我自己下载的为5.6   下面 以5.6为例:(拉取mysql5.6镜像) docker pull mysql:5.6 创建一个容器 doc ...

  6. Docker 搭建 Tomcat + Mysql

    Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...

  7. windows Docker Desktop 搭建mysql,mssql和redis服务

    其实网上关于docker上搭建mysql的文章已经很多了,只是今晚自己搭建的时候遇到一些问题,记录一下 1.首先是pull image , docker pull mysql 2.启动服务 docke ...

  8. 在docker中使用mysql数据库,在局域网访问

    1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...

  9. 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 ...

随机推荐

  1. 【置顶】Trotyl's OI tree

    \(\rm thx\):@\(\rm UntilMadow\) ! \(\color{Green}{\rm Pupil}\) :只会一点点 \(\color{blue}{\text{Expert}}\ ...

  2. day108:MoFang:首页检测用户是否登录&在项目中使用MongoDB&用户页面更新用户信息&交易密码界面实现

    目录 1.首页页面也要检测用户是否登录 2.在flask中使用MongoDB 3.用户页面更新用户信息 4.交易密码界面/密码修改界面/昵称修改界面初始化 5.交易密码实现 1.首页页面也要检测用户是 ...

  3. SQL注入 (一)

    一.手工注入 注入点检测 识别方法:通过在url栏输入'.and 1=1.or 1=1.and sleep(1),如果出现报错,或者页面不一致,则可能存在注入点. 注入类型:整数型.字符型.搜索型.B ...

  4. 【php安全】eavl函数禁用适用于 php7.* php5系列

    php5.4 安装扩展demo php安装suhosin扩展 php版本与suhosin版本: suhosin-0.9.38 支持到php 5.4 php5.4 5.5 5.6 需安装 https:/ ...

  5. 基于Python3.7 Robot Framework自动化框架搭建

    一.Robot Framework 和 Selenium 的区别(面试常问) 主流自动化测试框架有Robot Framework 和 Selenium,请根据实际场景选用不同的框架,以下总结各自优缺点 ...

  6. AWT03-LayoutManager布局管理器

    1.LayoutManager布局管理器 在之前的学习中,我们使用setBounds()方法设置容器的位置大小,但我们不得不明白一件事--如果我们手动为容器设置位置大小的话,就会造成程序通用性的下降. ...

  7. [日常摸鱼]bzoj1038[ZJOI2008]瞭望塔-半平面交

    这回好好用半平面交写一次- 看了cls当年写的代码看了好久大概看懂了-cls太强辣 #include<cstdio> #include<iostream> #include&l ...

  8. Javascript JQuery select选择之Safari与Firefox

    发现在苹果IOS手机及Safari浏览其中,如下代码不工作. $("#users option[value='hello']").attr("selected" ...

  9. [从源码学设计]蚂蚁金服SOFARegistry 之 如何与Meta Server交互

    [从源码学设计]蚂蚁金服SOFARegistry 之 如何与Meta Server交互 目录 [从源码学设计]蚂蚁金服SOFARegistry 之 如何与Meta Server交互 0x00 摘要 0 ...

  10. 【实时渲染】实时3D渲染如何加速汽车线上体验应用推广

    在过去,一支优秀的广告片足以让消费者对一辆汽车产生兴趣.完美的底盘线条或引擎的轰鸣声便会让潜在买家跑到经销商那里试驾.现在,广告还是和往常一样,并没有失去其特性,但86%的买家在与销售交流之前会在网上 ...