【MySQL】mysqldump使用方法
基本语法
mysqldump 的基本命令格式如下:
mysqldump -u [用户名] -p[密码] [数据库名] > [输出文件路径]
-u指定用户名,-p后接密码(无空格)。>将输出重定向到文件。
备份整个数据库
备份指定数据库的所有表结构和数据:
mysqldump -u root -p123456 mydb > /backup/mydb.sql
若需备份所有数据库,使用 --all-databases 参数:
mysqldump -u root -p123456 --all-databases > /backup/all.sql
仅备份表结构
添加 --no-data 参数仅导出结构:
mysqldump -u root -p123456 --no-data mydb > /backup/mydb_structure.sql
仅备份数据
使用 --no-create-info 参数跳过表结构:
mysqldump -u root -p123456 --no-create-info mydb > /backup/mydb_data.sql
备份特定表
指定表名备份部分表:
mysqldump -u root -p123456 mydb table1 table2 > /backup/tables.sql
压缩备份文件
通过管道结合 gzip 压缩输出:
mysqldump -u root -p123456 mydb | gzip > /backup/mydb.sql.gz
恢复数据库
使用 mysql 命令导入备份文件:
mysql -u root -p123456 mydb < /backup/mydb.sql
压缩文件需先解压:
gunzip < /backup/mydb.sql.gz | mysql -u root -p123456 mydb
高级参数
--single-transaction:适用于 InnoDB 表,确保备份一致性。--routines:包含存储过程和函数。--events:包含事件调度器事件。
示例:
mysqldump -u root -p123456 --single-transaction --routines --events mydb > /backup/mydb_full.sql
