Linux系统导入导出docker容器的sql数据
一 要从Docker容器中将数据库导出到本地
确保您已经安装了Docker,并且已经运行了包含数据库的Docker容器。
检查容器中运行的数据库服务的名称或容器ID。您可以使用命令 docker ps 来列出正在运行的容器和相关信息。
使用命令
sudo docker exec -it 镜像名称 /bin/bash
进入运行中的容器内部的命令行界面。
在容器内部,使用适当的数据库工具(如MySQL的mysqldump命令)执行导出操作。例如,使用以下命令导出MySQL数据库:
mysqldump -u <数据库用户名> -p<数据库密码> --databases <数据库名称> > /path/to/导出文件.sql
替换 <数据库用户名>、<数据库密码> 和 <数据库名称> 为实际的数据库凭据和要导出的数据库名称,将导出的SQL文件保存在 /path/to/导出文件.sql 的路径下。
退出容器的命令行界面,使用 exit 命令。
使用 docker cp 命令将导出的数据库文件从容器复制到本地机器上。例如,使用以下命令:
docker cp <容器名称或ID>:/path/to/导出文件.sql /path/to/本地目标路径/
替换 <容器名称或ID>、/path/to/导出文件.sql 和 /path/to/本地目标路径/ 为实际的容器名称或ID、导出文件的路径和要保存到的本地目标路径。
现在您已经成功将数据库从Docker容器中导出到本地机器上,可以在本地环境中使用该导出的数据库文件。
二 将本地数据库sql导入到docker容器中操作步骤
#第一步:将本地sql文件上传到虚拟机上,可放在mysql/backup文件夹下
#第二步:拷贝到容器中
sudo docker cp sql文件 镜像名称:/backup
如果backup不存在,则需要在容器中创建该文件夹
#第三步:进入docker的mysql容器中
sudo docker exec -it 镜像名称 /bin/bash
mysql -h 数据库地址 -u 用户名 -p密码
#第四步:建库
create database 数据库名称;
#第五步:设置编码格式
use 库名;
set names utf8;
set character_set_results=utf8;
#第六步:执行SQL语句
source /backup/sql文件
以上操作就已经将本地SQL导入到容器中并执行成功!