zoukankan      html  css  js  c++  java
  • Docker: 创建带数据的MySql container

    如果需要想要在一个装有docker的机器上启动一个MySql的container,并且整个MySql container有我想要的数据:

    1. 先在已有的MySql instance上准备好数据

    2. 备份数据(Linux:copy /var/lib/mysql 或者做成tar包,Windows:copy <mysql_instance>/data 或者做成zip包)

    3. 把备份数据(假设为tar包)上传到装有docker的机器上,解压,假设解压后的路径是/home/test/data/mysql

    4. 启动一个MySql container

    docker run --name my_mysql -e MYSQL_ROOT_PASSWORD=<password> -d -v /home/test/data/mysql:/var/lib/mysql -p 3306:3306 mysql

    这里用 “-v” 参数把实际的data目录链接到MySql container的工作目录,这样新创建的MySql container(即MySql instance)就用/home/test/data/mysql这个目录来管理数据了(包括insert、delete、update等DML操作,也包括create,drop等DDL操作)。

    也可以用“--mount”参数来设置目录的映射。

    缺点是要在多个机器上创建多个container的话,需要把数据文件copy到每个机器上。

    还有一种思路是创建自己的MySql image,把整个数据都包含在这个image里,但是这样image会很大,而且有安全风险,如果别人能访问到这个image,就会有数据泄露的风险。

  • 相关阅读:
    多态
    多继承
    传宗接代——继承
    解决vue项目更新版本后浏览器的缓存问题
    escape()、encodeURI()、encodeURIComponent()三种编码方式的区别
    epoll使用总结
    探讨c/c++的指针
    基于linux的pthread_t封装一个Thread类
    unix高并发编程中遇到的问题和笔记
    面向对象分析与设计 实验七
  • 原文地址:https://www.cnblogs.com/forwill/p/7542216.html
Copyright © 2011-2022 走看看