【MySQL】mysqldump使用方法

mysqldump 基本语法

执行 mysqldump 时需要指定连接数据库的参数(如用户名、密码)和导出目标。基础命令格式如下:

bash 复制代码
mysqldump -u [用户名] -p[密码] [数据库名] > [输出文件.sql]

注意 -p 和密码之间无空格。若省略密码,执行后会提示输入。

常用选项说明

  • --databases-B:导出指定数据库(含建库语句)

    bash 复制代码
    mysqldump -u root -p --databases db1 db2 > backup.sql
  • --all-databases-A:导出所有数据库

    bash 复制代码
    mysqldump -u root -p --all-databases > full_backup.sql
  • --tables:导出指定表

    bash 复制代码
    mysqldump -u root -p db1 table1 table2 > tables.sql
  • --no-data-d:仅导出表结构

    bash 复制代码
    mysqldump -u root -p -d db1 > schema_only.sql
  • --where:按条件导出数据

    bash 复制代码
    mysqldump -u root -p db1 table1 --where="id>100" > filtered_data.sql

高级功能

增量备份(结合binlog) 先进行全量备份:

bash 复制代码
mysqldump -u root -p --flush-logs --master-data=2 --all-databases > full_backup.sql

后续通过 mysqlbinlog 工具解析binlog实现增量恢复。

压缩输出 直接导出为压缩文件:

bash 复制代码
mysqldump -u root -p db1 | gzip > backup.sql.gz

远程备份 从远程服务器导出:

bash 复制代码
mysqldump -h 192.168.1.100 -u root -p db1 > remote_backup.sql

恢复数据

使用 mysql 客户端导入:

bash 复制代码
mysql -u root -p db1 < backup.sql

或登录MySQL后执行:

sql 复制代码
source /path/to/backup.sql;

注意事项

  • 确保有足够的磁盘空间存放备份文件
  • 大型数据库建议在低峰期操作
  • 备份前可使用 --opt 参数(默认启用)优化导出效率
  • 重要数据应先测试恢复流程
相关推荐
倔强的石头_9 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12023 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端