回答
sqlite3命令行工具功能.backup
dot command。
您可以連接到數據庫:
sqlite3 my_database.sq3
,並運行備份點命令:
.backup backup_file.sq3
而是到數據庫的交互連接的,你也可以做備份和然後關閉連接
sqlite3 my_database.sq3 ".backup 'backup_file.sq3'"
無論哪種方式,結果是副本名爲backup_file.sq3
的數據庫my_database.sq3
。
這與定期進行文件複製有所不同,因爲它負責處理當前在數據庫中工作的任何用戶。在數據庫上設置了適當的鎖,因此備份是專門完成的。
try {
final String inFileName = "/data/data/your app package/databases/db";
File dbFile = new File(inFileName);
FileInputStream fis = new FileInputStream(dbFile);
String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/CALC/Backup";
File dir = new File(path);
if (!dir.exists()) dir.mkdirs();
String outFileName = path + "/filename"; // output file name
// Open the empty db as the output stream
OutputStream output = new FileOutputStream(outFileName);
// Transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
Toast.makeText(getActivity(), "Backup Successfully", 2).show();
// Close the streams
output.flush();
output.close();
fis.close();
}
catch (Exception e) {
e.printStackTrace();
}
對於實時增量備份(僅複製修改的頁面),您可以使用litereplica。
它實現了單向數據庫複製,支持時間點恢復,所以如果一個記錄或表被意外刪除,我們可以將數據庫(主數據庫或副本數據庫)還原到問題出現之前的某個時間點。
備份在每次事務處理後都會更新,因此如果主機發生故障,您在另一個端點中有更新的備份。
在主機側的應用程序將打開使用修改的URI分貝,就像這樣:
「file:/path/to/main.db?replica=master&slave=tcp://my.server.ip:1234」
而且你必須有一個運行的應用程序,以接收更新的副本/備份的一面。這個程序將打開副本DB使用URI是這樣的:
「file:/path/to/copy.db?replica=slave&bind=tcp://0.0.0.0:1234」
要啓用即時點時間恢復,我們必須添加一些參數到URI的文件名,例如:
&pitr=on&pitr_limit=200M
它可以在主數據庫中啓用,如在備份/副本中一樣。
並啓用加密(數據庫和通信),我們添加類似:
&cipher=chacha20&key=your_key_here
是的.backup最好的方式。
sqlite3 my_database .backup > my_database.back
,你也可以嘗試使用.dump,轉儲數據庫中的SQL文本格式,如果指定的表,只轉儲表匹配LIKE模式表。
sqlite3 my_database .dump > my_database.back
在SQLite 3.8.2上,'.backup'不能像上面顯示的那樣工作(「在.backup上缺少FILENAME參數」) – 2017-10-18 09:11:10
- 1. 如何備份sqlite數據庫?
- 2. 如何備份SQLite數據庫?
- 3. SQLite數據庫備份android
- 4. 自動備份SQLite數據庫
- 5. sqlite備份內存數據庫C++
- 6. SQLite數據庫備份到SD卡
- 7. Sqlite數據庫備份和加密
- 8. 如何將Android上的SQLite數據庫備份/恢復到Dropbox
- 9. 如何在內部存儲備份sqlite數據庫
- 10. 備份後如何恢復SQLite數據庫的Android
- 11. 數據庫備份
- 12. 備份數據庫
- 13. 備份數據庫
- 14. 將SQLite數據庫複製到存儲設備進行備份
- 15. 如何恢復的SQLite數據庫備份的Andorid對於非植根設備
- 16. Firestore新數據庫 - 如何備份
- 17. 如何備份文件流數據庫?
- 18. 如何備份數據庫phonegap/cordova?
- 19. 如何備份MySQL數據庫
- 20. 如何備份django數據庫
- 21. 如何從Java備份mysql數據庫?
- 22. 如何備份mysql數據庫?
- 23. 如何從NSIS備份MySQL數據庫
- 24. 如何使用XMLRPC備份數據庫?
- 25. 如何從ServerGrid.com備份數據庫?
- 26. 如何從sqlexpress備份數據庫
- 27. 如何在wordpress中備份數據庫?
- 28. Android如何進行數據庫備份?
- 29. 如何讓用戶備份數據庫
- 30. DB2:如何備份DB2數據庫?
[SQLite的有一個API爲這個(http://sqlite.org/backup.html) – 2014-09-04 23:47:37
什麼語言和驅動程序是您使用訪問數據庫? – 2014-09-05 07:28:52
我使用PHP和PDO擴展 – thelolcat 2014-09-05 21:46:21