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

如何在Docker容器中对MySQL或PostgreSQL导入导出.sql文件

Docker容器中MySQL的SQL文件导入与导出

导出SQL文件

  1. 先确认MySQL容器的名称或ID,执行:
    docker ps
    
  2. 使用mysqldump命令导出指定数据库到本地文件:
    docker exec <容器名/ID> mysqldump -u<数据库用户名> -p <数据库名> > ./local_dump.sql
    
    • 执行后会提示输入数据库密码,不要在命令行直接写密码,避免泄露
    • ./local_dump.sql是本地保存导出文件的路径,可根据需求修改

导入SQL文件

从本地文件导入到容器内数据库

  1. 确保目标数据库已在容器内创建(若未创建,可进入容器执行CREATE DATABASE <数据库名>;)
  2. 执行导入命令:
    docker exec -i <容器名/ID> mysql -u<数据库用户名> -p <数据库名> < ./local_dump.sql
    
    • -i参数确保本地文件内容能正确传入容器内的mysql进程
    • 执行后输入数据库密码即可完成导入
Docker容器中PostgreSQL的SQL文件导入与导出

导出SQL文件

  1. 确认PostgreSQL容器的名称或ID:
    docker ps
    
  2. 使用pg_dump命令导出数据库:
    docker exec <容器名/ID> pg_dump -U<数据库用户名> <数据库名> > ./local_dump.sql
    
    • 若需要密码验证,可添加--password参数,执行后交互式输入密码
    • 默认PostgreSQL用户名是postgres,可根据实际配置修改

导入SQL文件

从本地文件导入到容器内数据库

  1. 确保目标数据库已存在(可通过docker exec -it <容器名/ID> psql -U<用户名>进入容器后执行CREATE DATABASE <数据库名>;创建)
  2. 执行导入命令:
    docker exec -i <容器名/ID> psql -U<数据库用户名> -d<数据库名> < ./local_dump.sql
    
    • -d指定目标数据库,-i保证本地文件流能被正确读取
    • 若需要密码,执行时会提示输入

注意事项

  • 操作前确保Docker容器处于运行状态,可通过docker start <容器名/ID>启动停止的容器
  • 本地文件路径要正确,若出现权限问题,可检查本地文件的读写权限,或临时调整权限后再操作
  • 避免在命令行明文输入密码,优先使用交互式输入方式,保障数据安全

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:35:25