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
就可以导出啦