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

最新文章

  1. php编译 :virtual memory exhausted: Cannot allocate memory
  2. MySQL 日期、时间转换函数
  3. linux通过挂载系统光盘搭建本地yum仓库的方法
  4. Beginning Scala study note(8) Scala Type System
  5. 【WP 8.1开发】推送通知测试服务端程序
  6. Php 安装 curl
  7. C++折半插入排序
  8. 更新页面缓存OutputCache
  9. Java异常信息处理
  10. 玩儿了一下django User authentication
  11. ###再探Makefile
  12. 常用 cmd 命令
  13. UVA 1614 - Hell on the Markets
  14. python 机器学习 K-近邻算法
  15. 实验五:任意输入10个int类型数据,排序输出,再找出素数
  16. 配置cron定时任务
  17. 2、visualBox虚拟机扩容
  18. Spring-boot+Spring-batch+hibernate+Quartz简单批量读文件写数据用例
  19. angular学习笔记(三十)-指令(1)-概述
  20. 第九周(11.11-11.17)----Beta版本视频发布

热门文章

  1. C++ 中使用 PRId64
  2. HDU4388-Stone Game II-Nim变形
  3. Centos7.6上部署Supervisor来监控和操作各类服务
  4. OSPF --- 不规则区域实验
  5. webform中配置服务器控件的样式
  6. [MVC] - Asynchronous操作
  7. (八)、rm--删除文件或者目录
  8. VS编译程序添加图标
  9. jfinal项目报java.lang.ClassNotFoundException: com.jfinal.core.JFinalFilter
  10. Mac苹果电脑单片机开发