mysql迁移docker_docker迁入迁出mysql

本文介绍了如何在Docker环境中迁移MySQL数据库。首先,通过`mysqldump`在Docker容器中导出数据库,并将SQL文件传输到目标服务器。然后,在目标服务器上创建数据库并使用`source`命令恢复数据。同样,也演示了如何将现有MySQL数据库迁移到Docker容器中,涉及数据库备份、文件传输和在Docker内恢复数据的步骤。
摘要由CSDN通过智能技术生成

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

fb2cc771eb9451970043bbdd7a5ffd68.png

启动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:

b145da04e5b98e0bd90124c1c789a556.png

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

d5254c73d87a866242b4ed3f66ad77b7.png

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

8e418e956aefe09af0075efd7afd8110.png

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

810e50e2a451f28bb682e343a70bb9ec.png

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)

c1d03071e40608f66d2eab4d54bfd83b.png

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

49b3f0efa652e1811f7a4339b197c94f.png

2.将备份文件传到docker服务器中

[mysql@localhost /usr/local/mysql]$ scp test_dump.20210115.sql root@192.168.163.19:/data/mysql/data

3.进入mysql进行数据备份恢复

665fd3496c77f1e5b3fab5dd3c5605b8.png

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)

cc6ab56c009fa5fc65d77f1122630139.png

至此mysql数据迁移docker容器中结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值