MySQL/MariaDB 数据库导出
使用 mysqldump
工具
# 示例:导出名为 `web_data` 的数据库 mysqldump -u root -p123456 --databases web_data > web_backup_full.sql
导出单张表
mysqldump -u root -p123456 web_data users > users_table.sql
仅导出结构或数据
# 仅导出表结构(不含数据) mysqldump -u root -p123456 --no-data web_data > schema_only.sql # 仅导出数据(不含结构) mysqldump -u root -p123456 --no-create-info web_data > data_only.sql
压缩导出结果
mysqldump -u root -p123456 web_data | gzip > web_data_backup.sql.gz
PostgreSQL 数据库导出
使用 pg_dump
工具
# 导出整个数据库(自定义格式,支持压缩) pg_dump -U [用户名] -F c -f backup.dump [数据库名] # 示例:导出 `app_db` 到自定义压缩文件 pg_dump -U postgres -F c -f app_backup.dump app_db
导出为纯SQL文本
pg_dump -U postgres app_db > app_backup.sql
导出单张表
pg_dump -U postgres -t users app_db > users_table.sql
SQLite 数据库导出
# 导出整个数据库为SQL文件 sqlite3 my_database.db .dump > backup.sql # 导出单张表 sqlite3 my_database.db "SELECT * FROM users;" > users_data.csv
MongoDB 数据库导出
# 导出整个数据库(二进制BSON格式) mongodump --db [数据库名] --out /backup/path # 示例:导出 `analytics` 到当前目录 mongodump --db analytics # 导出为JSON(使用 `mongoexport`) mongoexport --db analytics --collection logs --out logs.json
关键注意事项
-
权限与安全
- 避免在命令中明文写密码(如
-p123456
),推荐交互式输入密码或使用配置文件(如~/.my.cnf
)。 - 用
chmod
限制备份文件权限(chmod 600 backup.sql
)。
- 避免在命令中明文写密码(如
-
备份验证
- 检查导出文件是否非空:
ls -lh backup.sql
- 测试导入:
mysql -u root -p test_db < backup.sql
(MySQL示例)
- 检查导出文件是否非空:
-
自动化备份
结合cron
定时任务实现每日备份:# 编辑cron任务 crontab -e # 添加以下行(每天2点备份MySQL) 0 2 * * * mysqldump -u root -p[密码] web_data | gzip > /backups/web_data_$(date +\%F).sql.gz
-
存储与版本控制
- 备份文件命名加入日期:
backup_$(date +\%Y\%m\%d).sql
- 使用云存储(如 AWS S3)或异地服务器保存副本。
- 备份文件命名加入日期:
常见问题解决
-
错误:
mysqldump: command not found
安装客户端:# Debian/Ubuntu sudo apt install mysql-client # CentOS/RHEL sudo yum install mysql
-
PostgreSQL 权限拒绝
检查pg_hba.conf
文件,确保本地连接权限为trust
或md5
。 -
导出文件损坏
用gzip -t backup.sql.gz
验证压缩文件完整性。
命令行导出数据库是Linux环境的核心技能,通过 mysqldump
、pg_dump
等工具可灵活控制备份范围与格式,关键步骤包括:
- 选择正确的导出命令和参数;
- 保护敏感信息(如密码);
- 定期验证备份可用性;
- 制定自动化策略保障数据安全。
引用说明:本文操作基于MySQL 8.0、PostgreSQL 14、SQLite 3、MongoDB 5.0的官方文档,具体参数以实际版本为准,参考来源:
- MySQL Official Documentation: mysqldump
- PostgreSQL Docs: pg_dump
- SQLite CLI Guide
- MongoDB Backup Methods
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8380.html