mysql数据库完整备份导出
mysqldump -u root -p --databases --single-transaction --routines --triggers postal_subscription_system > ok.sql
以下示例:
使用 mysqldump 导出数据库 postal_subscription_system
要使用 mysqldump
工具导出名为 postal_subscription_system
的数据库,可以按照以下步骤操作:
基本导出命令
mysqldump -u [用户名] -p postal_subscription_system > postal_subscription_system_backup.sql |
执行后,系统会提示你输入密码。
常用选项说明
-
包含创建数据库语句(恢复时更方便):
mysqldump -u [用户名] -p --databases postal_subscription_system > postal_subscription_system_backup.sql
-
压缩导出文件(节省空间):
mysqldump -u [用户名] -p postal_subscription_system | gzip > postal_subscription_system_backup.sql.gz
-
只导出结构(不包含数据):
mysqldump -u [用户名] -p --no-data postal_subscription_system > postal_subscription_system_structure.sql
-
只导出数据(不包含结构):
mysqldump -u [用户名] -p --no-create-info postal_subscription_system > postal_subscription_system_data.sql
-
导出所有数据库(需要足够权限):
mysqldump -u [用户名] -p --all-databases > all_databases_backup.sql
高级选项
-
添加
--single-transaction
选项(对InnoDB表更安全,避免锁表):mysqldump -u [用户名] -p --single-transaction postal_subscription_system > backup.sql
-
mysqldump -u [用户名] -p --routines --triggers postal_subscription_system > backup.sql
完整示例
mysqldump -u root -p --databases --single-transaction --routines --triggers postal_subscription_system > postal_subscription_system_full_$(date +%Y%m%d).sql |
这个命令会:
- 使用root用户(需要输入密码)
- 包含创建数据库语句
- 使用事务保证一致性
- 包含存储过程和触发器
- 将备份文件命名为包含当前日期的格式(如postal_subscription_system_full_20231115.sql)
注意事项
- 确保你有足够的权限访问该数据库
- 大数据库导出可能需要较长时间
- 考虑在低峰期执行导出操作,减少对生产环境的影响
- 定期测试备份文件的恢复过程,确保备份有效
如果需要恢复这个数据库,可以使用:
mysql -u [用户名] -p < postal_subscription_system_backup.sql |