docker 数据持久化

如何在自己的阿里云服务器上创建自己的测试数据集,数据集地址:https://github.com/datacharmer/test_db

1.在本地电脑中git clone下文件,使用rz命令(如果没有该命令工具root 账号登陆后执行以下命令:yum install -y lrzsz,下载文件,执行命令sz)将本地文件上传到服务器/var/lib文件夹中

2. 一开始执行dicker命令安装了mysql5.7:docker run --name mysql -v $PWD/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=hogwarts -d mysql:5.7

说明将文件挂载到了/var/lib文件夹中,所以要将文件放置在这里

3.导入数据:宿主机上的数据sql复制到容器的文件下----因为是-v  启动  文件结构目录保持一致,docker cp /var/lib/test_db mysql(mysql为容器名称):/var/lib/test_db

4.进入容器---》docker exec -it mysql (容器名称) bash

5.登录容器内的mysql数据库------》进入/test_db文件夹中,执行:mysql -u root -p <employees.sql,然后会提示你输入密码,就可以将文件导入进容器中的数据库中了;

如下图导入成功:

 

 

另外一种方法:docker exec -i mysql < some.sql

另外,如何执行导出数据呢?

执行导出(备份)数据库命令:

由第一步可知,我的 mysql 运行在一个叫 mysql 的 docker 容器中。而我们要备份的数据库就在里面,叫做 test_db。mysql 的用户名密码均为root,我们将文件备份到宿主机/var/lib文件夹下。

docker exec -it  mysql_server mysqldump -u root -p test_db > /var/lib/test_db.sql
就可以导出啦

 

posted @ 2020-03-22 22:34  zhaikunkun  阅读(331)  评论(0)    收藏  举报