You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过终端从docker MySQL容器中导出SQL dump备份文件

Docker环境mysql:5.7容器导出SQL备份到本地操作步骤

步骤1:获取目标MySQL容器的标识

执行以下命令查看当前运行的所有Docker容器,找到镜像为mysql:5.7对应的条目:
docker ps
记录该条目的CONTAINER ID(容器ID,只需记前3位即可)或者NAMES(容器名),后续统一用<容器标识>指代该值。

说明:如果是默认初始化未自定义用户名的mysql:5.7实例,管理员用户名为root。

步骤2:按需求执行对应导出命令

导出操作通过docker exec调用容器内置的mysqldump工具执行,直接将输出重定向到本地文件即可,以下是常用场景的命令模板:

  • 导出整个MySQL实例的所有数据库
    docker exec <容器标识> sh -c 'exec mysqldump --all-databases -u<数据库用户名> -p' > ./全量备份.sql

上述命令去掉了明文密码填写,执行后终端会提示输入密码,输入后即可开始导出,避免终端历史记录泄露明文密码。如果需要非交互式执行,可以将-p替换为-p"<你的数据库密码>",注意密码有特殊字符时需要提前转义。

  • 导出单个指定数据库
    docker exec <容器标识> sh -c 'exec mysqldump -u<数据库用户名> -p <数据库名>' > ./指定数据库备份.sql

  • 导出指定数据库下的某几张表
    docker exec <容器标识> sh -c 'exec mysqldump -u<数据库用户名> -p <数据库名> <表1名称> <表2名称>' > ./指定表备份.sql

额外说明

  • 导出的.sql文件默认存储在你执行命令的终端当前工作目录下,你可以修改>后的路径自行指定存储位置
  • mysql:5.7镜像内置的mysqldump版本和服务端版本完全一致,不会出现版本不兼容导致的备份异常
  • 如果你的MySQL实例配置了无密码访问,直接去掉命令中的-p参数即可

内容的提问来源于stack exchange,提问作者Plutus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:18:01