zoukankan      html  css  js  c++  java
  • 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容器中结束

  • 相关阅读:
    java socket知识点
    java io流缓冲理解
    如何理解java回电话
    它们的定义Adapterg在etView( )正在使用View.setTag()与不同的是不使用。
    打造你自己ajax上传图片
    POJ 1166 The Clocks
    spring-framework-3.2.4.RELEASE 综合hibernate-release-4.3.5.Final一个错误Caused by: java.lang.NoClassDefFound
    [Android]Volley源代码分析(店)应用
    金融脱媒砸进?
    音乐家演奏乐器
  • 原文地址:https://www.cnblogs.com/houzhiheng/p/14281797.html
Copyright © 2011-2022 走看看