docker中mysql的数据有的时候用起来可能不太方便,不直观,我想把数据库拷一份下来在自己电脑上用,现在记录一下过程。
一.在docker中导出数据
1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
3.导出一个数据库结构
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,如
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/dbname.sql
注意:可能会出现permission denied错误,这是权限问题,用root用户进入容器即可:
docker exec -it -u root container——id bash
导出的位置就在当前文件夹
二.从容器导出到本地计算机
sudo docker cp 074af74c669d:/etc/bash.bashrc /tmp
或者反过来
sudo docker cp /tmp/index.html 074af74c669d:/etc/
这样就可以了
原文: 记docker中mysql导出数据库和表到本地