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容器中结束

mysql迁移:docker迁入迁出mysql的更多相关文章

  1. docker迁入迁出mysql

    docker迁出mysql数据库 测试环境: docker服务器 mysql服务器 IP 192.168.163.19 192.168.163.16 操作系统 CentOS7.8 CentOS7.8 ...

  2. 在docker中安装mysql

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

  3. 解决mysql for docker容器报错:Authentication plugin 'caching_sha2_password' cannot be loaded

    为图方便,懒得在mac上安装mysql了,一个是管理不方便,第二个是为了方便多机器同步开发环境.就使用docker安装了. 拉取mysql镜像 docker pull mysql 运行mysql实例 ...

  4. 连接远程docker内的mysql(navicat)

    拉取mysql镜像 docker pull mysql:5.6 查看mysql镜像 docker images | grep mysql 启动mysql容器 docker run -p 3306:33 ...

  5. 使用EF操作Docker中的Mysql实例

    为啥我会选择mysql呢?因为我的服务器配置较低,而SqlServer在docker中的实例,服务器的运行内存应当保持在2G+,我没有这个条件,它会爆出这样的错误 sqlservr: This pro ...

  6. Docker下的mysql安装指令(Mac)

    工具   简介 对于Docker,绝对是开发人员的一款利器!当下特别火热的虚拟化技术.都说不知Docker是什么,作为IT人就out了. 关于Docker 是什么.及其基础学习可以参考: <Do ...

  7. 往docker中的mysql导入sql文件

    先把sql文件上传到服务器 然后拷贝sql文件到docker中的mysql 容器中 docker cp test.sql mysql:/test.sql 这里的mysql都是容器名称 根据自己的来 用 ...

  8. 在 Docker 中使用 mysql 的一些技巧

    启动到后台:  docker-compose start docker-composer 执行命令: entrypoint: pwd app: build: ./app working_dir: /a ...

  9. centos7 + Nginx+ HTTPS + uwsgi + python3.6 + Docker + Django1.11 + mysql 5.6 + virtualenv 环境搭建

    环境搭建: 系统: ​ centos7.2 x64 开发环境: ​ python3.6 ​ Django 1.11 虚拟环境: [Docker](https://www.runoob.com/dock ...

  10. Docker实战之MySQL主从复制

    前言 曾几何时,看着高大上的架构和各位前辈高超的炫技,有没有怦然心动,也想一窥究竟?每当面试的时候,拿着单应用的架构,吹着分库分表的牛X,有没有心里慌的一批? 其实很多时候,我们所缺少的只是对高大上的 ...

随机推荐

  1. Windows下安装多个Redis实例

    1.在Redis 目录下复制redis.windows-service.conf文件,建议命名规则redis.windows-service-port.conf,我们以6380端口为例. 2.打开re ...

  2. C语言初级阶段4——数组2————二维数组

    C语言初级阶段4--数组2----二维数组 二维数组的定义:类型说明符 数组名[数组大小] [数组大小] 第一个大小是行的大小,第二个大小是列的大小. 二维数组的初始化:{} #include< ...

  3. Linux 配置nginx 代理tomcat,配置ssl

    我就直接干活不废话: 配置文件nginx, nginx.conf #user nobody;worker_processes 1; #error_log logs/error.log;#error_l ...

  4. JavaWeb学习--EL表达式

    一.EL表达式: 1.命令表达式: ${作用域对象别名.共享数据} 2.命令作用: 1)EL表达式是EL工具包提供一种特殊命令格式[表达式命令格式] 2)EL表达式在JSP文件上使用 3)负责在JSP ...

  5. idea安装阿里规范审查插件

    Install from repositories Settings >> Plugins >> Browse repositories... Search plugin by ...

  6. 微信小程序页面间通的5种方式

    PageModel(页面模型)对小程序而言是很重要的一个概念,从app.json中也可以看到,小程序就是由一个个页面组成的. 如上图,这是一个常见结构的小程序:首页是一个双Tab框架PageA和Pag ...

  7. The difference of src and href

    href是Hypertext Reference的缩写,表示超文本引用.用来建立当前元素和文档之间的链接.常用的有:link.a.例如: <link href="reset.css&q ...

  8. C# IDataReader转换为Json

    1 /// <summary> 2 /// IDataReader转换为Json 3 /// </summary> 4 /// <param name="dat ...

  9. 去除python中数据的0值

    import numpy as np a = [0, 1, 2] a = np.array(a) a = a[a != 0].tolist() print(a) //a = [1, 2]

  10. SqlServer提示对象名无效

    执行脚本 exec sp_msforeachtable "sp_changeobjectowner '?','dbo'"