使用mysqldump可实现mysql逻辑备份,支持导出整个数据库、多个库或所有库,如:mysqldump -u root -p mydb > /backup/mydb_backup.sql;通过–databases和–all-databases参数扩展备份范围;支持仅导出结构(–no-data)或仅数据(–no-create-info);可指定表或结合–where按条件导出部分数据;操作需确保用户权限和路径写入权限,并定期验证备份可用性。

在 MySQL 中,逻辑备份最常用的方式是使用 mysqldump 工具。它能将数据库中的数据和结构导出为 SQL 脚本文件,便于恢复、迁移或版本控制。下面介绍如何使用 mysqldump 进行逻辑备份。
导出整个数据库
如果你需要备份一个完整的数据库(包括表结构和数据),可以使用以下命令:
mysqldump -u [用户名] -p [数据库名] > [备份文件路径]
例如:
mysqldump -u root -p mydb > /backup/mydb_backup.sql
执行后会提示输入密码,成功后将数据库 mydb 的所有内容导出到指定文件。
导出多个数据库或所有数据库
要同时备份多个数据库,使用 –databases 参数:
mysqldump -u root -p –databases db1 db2 > /backup/multi_backup.sql
若要备份服务器上所有数据库,加上 –all-databases:
mysqldump -u root -p –all-databases > /backup/full_backup.sql
只导出表结构或只导出数据
有时你只需要结构(建表语句)或仅数据:
- 只导出结构(不包含数据):
mysqldump -u root -p –no-data mydb > structure_only.sql - 只导出数据(不包含 CREATE table 语句):
mysqldump -u root -p –no-create-info mydb > data_only.sql
按条件导出特定表或行
可以指定导出某些表:
mysqldump -u root -p mydb table1 table2 > tables_backup.sql
结合 –where 参数可按条件导出部分数据:
mysqldump -u root -p mydb users –where=”created_at > ‘2023-01-01′”
这条命令只导出 users 表中 2023 年以后创建的记录。
基本上就这些。mysqldump 灵活且稳定,适合大多数逻辑备份场景。记得定期测试备份文件能否正常导入,确保数据安全。不复杂但容易忽略权限和路径问题,操作前确认用户有读取权限和写入目标目录的权限。