碰到了一个需求,需要进行数据库数据迁移。但是目标数据库是在docker容器内的,不能很方便的用Navicat进行直接传输,所以需要回归传统方法。
这个教程适用于已经具备以下条件者:
- 掌握
Linux
基本操作 - 掌握
Docker
的基本操作 - 掌握
MySQL
的基本操作 - 已创建有效
MySQL
的docker
容器 - 已有有效
.sql
文件
进入正题:
1. 复制sql文件到容器内部
命令:
sudo docker cp /opt/a.sql mymysql:/home/tmp/a.sql
命令说明:
docker cp 本地文件路径 自定义容器名:目标文件名
2. 进入容器,登录mysql
docker exec -it mymysql mysql -uroot -p123456
3. 选择数据库(没有则需要创建)
因为很多数据库导出的.sql
文件中不包含选择数据库&#