Mysql数据泵导入导出数据

一、核心命令(仅导出数据,无表结构)

sql 复制代码
mysqldump -u root -p --no-create-info powerjob > /opt/export-sql/export_powerjob_data_only.sql

关键参数说明:

  • --no-create-info(简写 -t):禁用表结构导出,仅导出数据行(INSERT 语句);
  • -u root -p:指定 root 用户,执行后会提示输入密码;
  • powerjob:待导出的数据库名;
  • > /opt/export-sql/...:将导出数据覆盖写入指定文件(需确保目标目录存在)。

二、进阶需求(可选)

1. 导出数据时忽略触发器 / 存储过程(若有)

若数据库包含触发器、存储过程且无需导出,追加以下参数:

sql 复制代码
mysqldump -u root -p -t --triggers=false --routines=false powerjob > /opt/export-sql/export_powerjob_data_only.sql
  • --triggers=false:不导出触发器;
  • --routines=false:不导出存储过程 / 函数。

2. 仅导出指定表的数据(而非整个库)

sql 复制代码
# 单表
mysqldump -u root -p -t powerjob table_name1 > /opt/export-sql/export_table1_data.sql

# 多表
mysqldump -u root -p -t powerjob table_name1 table_name2 > /opt/export-sql/export_multi_tables_data.sql

3. 导出数据时带 WHERE 条件(筛选数据)

示例:仅导出 user 表中 create_time > '2025-01-01' 的数据

sql 复制代码
mysqldump -u root -p -t powerjob user --where="create_time > '2025-01-01'" > /opt/export-sql/export_user_filtered.sql

三、前置检查(避免导出失败)

1.确认目标目录存在,不存在则创建:

sql 复制代码
mkdir -p /opt/export-sql

2.确认 root 用户拥有 powerjob 数据库的 SELECT 读取权限;

3.若数据量较大,追加 --quick 参数(分批读取数据,减少内存占用):

sql 复制代码
mysqldump -u root -p -t --quick powerjob > /opt/export-sql/export_powerjob_data_only.sql

四、验证导出结果

导出后检查文件内容,确认仅包含 INSERT 数据(无 CREATE TABLE 表结构语句):

sql 复制代码
# 查看文件前10行
head -10 /opt/export-sql/export_powerjob_data_only.sql

# 搜索是否有表结构语句(返回空则说明仅导出数据)
grep "CREATE TABLE" /opt/export-sql/export_powerjob_data_only.sql
相关推荐
IT枫斗者枫哥4 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
Y004 小时前
PostgreSQL 的锁:为什么你的 ALTER TABLE 会卡住,以及怎么查
数据库·postgresql
灰原喜欢柯南4 小时前
OceanBase 运维管理知识点——OCP 监控、诊断与变更控制
数据库·oceanbase
码农-0044 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql
仍然.4 小时前
Redis---事务
数据库·redis
oradh5 小时前
Oracle 执行计划的阅读方法(二叉树结构来理解和阅读)
数据库·oracle·执行计划的阅读方法
SelectDB5 小时前
Doris 向量检索上线踩坑记录:七个排查现场与可直接复制的命令
大数据·数据库·数据分析
数据库小学妹5 小时前
MySQL深分页优化:LIMIT大偏移的根因分析与五种解法对比
数据库·mysql·性能优化
SelectDB5 小时前
一条大查询把集群打挂之后:Apache Doris 稳定性处置与资源隔离速查
大数据·数据库·数据分析