备份数据库中的 BLOB(Binary Large Object)数据(如图片、文件、音频、视频等)需要根据你使用的数据库类型、数据量大小和备份策略来选择合适的方法。下面按常见场景给你系统性说明。
mysqldump -u user -p dbname > backup.sql
mysql -u user -p db_name < backup.sql
⚠ 注意:大 BLOB 会导致 SQL 文件非常大
使用 Percona XtraBackup 或 MySQL Enterprise Backup
xtrabackup --backup --target-dir=/backup/
SELECT blob_column
INTO DUMPFILE '/backup/image.jpg'
FROM table
WHERE id = 1;
恢复:
UPDATE table
SET blob_column = LOAD_FILE('/backup/image.jpg')
WHERE id = 1;
pg_dump -U user dbname > backup.sql
lo_ 函数导出psql -U user dbname < backup.sql
pg_dump -U user -b dbname > backup.tar
\lo_export oid 'file_path'
RMAN> BACKUP DATABASE;
DBMS_LOB.FILEOPEN
DBMS_LOB.LOADFROMFILE
BACKUP DATABASE dbname TO DISK = 'D:\backup.bak';
SELECT BulkColumn
FROM OPENROWSET(BULK 'file.jpg', SINGLE_BLOB) AS x;
数据库表
| id | name | file_path |
文件系统 / OSS / S3
/images/1.jpg
备份方式:
✅ 优点:
✅ 定期备份(全量 + 增量)
✅ 验证备份可恢复
✅ 大 BLOB 不建议频繁逻辑备份
✅ 生产环境优先物理备份
✅ 备份文件加密 + 异地存储
我可以给你具体可执行的备份脚本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。