简单缩小数据库
sqlite3 sqlite.db "VACUUM;"数据库被锁
cp sqlite.db sqlite.db.backup sqlite3 sqlite.db .d...全文简单缩小数据库
sqlite3 sqlite.db "VACUUM;"数据库被锁
cp sqlite.db sqlite.db.backup sqlite3 sqlite.db .dump > backup.sql sqlite3 new.db < backup.sql sqlite3 new.db "PRAGMA integrity_check;" #检查数据库如果标准的 .dump 命令无法成功导出数据,可以尝试使用 .recover 命令(适用于SQLite 3.33.0及更高版本):
sqlite3 corrupted.db ".recover" > backup.sql sqlite3 new.db < backup.sql简单缩小不咋管用的方法
首先导出数据
sqlite3 sqlite.db sqlite>.output tmp.sql sqlite>.dump sqlite>.quit再导入到一个新库中
sqlite3 new.sqlite.db sqlite>.read tmp.sql sqlite>.quit覆盖原库并优化
cp -f new.sqlite.db sqlite.db sqlite3 sqlite.db 'VACUUM;'删除一些日志
cd /opt/nezha/dashboard/data && cp sqlite.db sqlite.db.bak && sqlite3 ./sqlite.db .tables .schema monitor_histories begin transaction; delete from monitor_histories where id < ( select min(id) from ( select id from monitor_histories order by id desc limit 10000 ) ); commit; .exit