260801-mysqldump导出指定表
Created At :
全库导出
1 2 3 4 5 6 7 8 9 10 11
| mysqldump -h 127.0.0.1 -P 3306 -u root -p ^ --single-transaction ^ --quick ^ --skip-lock-tables ^ --routines ^ --triggers ^ --events ^ --default-character-set=utf8mb4 ^ km_device > C:/owen/km_device_backup.sql
mysqldump -h 127.0.0.1 -P 3306 -u root -p --single-transaction --quick --skip-lock-tables --routines --triggers --events --default-character-set=utf8mb4 ry-vue > /opt/dump/km_device_backup.sql
|
表结构 + 表数据 + 触发器 + 存储过程/函数 + Event。
几个参数的作用:
--single-transaction:开启一致性事务快照,导出过程中通常不会锁住 InnoDB 表。
--quick:逐行读取数据,不把整张表一次加载到内存。
--skip-lock-tables:明确不执行 LOCK TABLES。
- **不要加
--no-data**,这样就会同时导出表结构和数据。
mysql导出所有表的创建语句
1 2 3 4 5 6 7
| mysqldump -u root -p --no-data 数据库名 > C:/owen/schema.sql
如果是远程 MySQL: mysqldump -h 127.0.0.1 -P 3306 -u root -p --no-data km_device > C:/owen/km_device_schema.sql
如果你的目标是拿到一个数据库中所有表纯 CREATE TABLE SQL,尽量不带其他内容,我更推荐: mysqldump -u root -p --no-data --skip-comments --skip-add-drop-table --skip-triggers --compact 数据库名 > C:/owen/create_tables.sql
|
其中:
- –no-data:不导出数据
- –skip-comments:不要版本、时间等注释
- –skip-add-drop-table:不要 DROP TABLE
- –skip-triggers:不导出触发器
- -compact 会让结果更干净,比较适合拿去做数据库结构分析或给 AI 阅读。
🎯 基础用法:导出指定表
1 2
| mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 导出文件.sql mysqldump -u root -p mydb users orders > users_orders.sql
|
✂️ 只导出数据,不要表结构
1
| mysqldump -u root -p --no-create-info ry-vue production_data_202608 > production_data_202608.sql
|
🎯 按条件导出部分数据
1
| mysqldump -u root -p mydb users --where="id > 100" > users_partial.sql
|