【Neo4J】neo4j docker容器下的備份與恢復

文章目錄

  • 一. 官網說明
    • 1. 操作說明
    • 2. 注意事項
  • 二. docker 容器化操作
    • 1. 導出(備份)
      • 停止容器
      • 執行備份
    • 2. 導入(恢復)
      • 停止容器(如果未停止)
      • 執行導入
    • 3. 啟動容器

一. 官網說明

https://neo4j.com/docs/operations-manual/current/docker/dump-load/

1. 操作說明

  1. 確定備份工具
    • 使用 Neo4j 提供的 neo4j-admin 工具
    • 此工具適用于 Neo4j 4.x 版本,可用來創建數據庫的完整備份。
  2. 逐個備份所有數據庫
    • Neo4j 支持多數據庫架構,每個數據庫需要單獨備份。
    • 通過運行多個命令依次備份每個數據庫。
  3. 檢查備份
    • 驗證備份是否成功,檢查備份目錄中的內容確保所有數據庫都已備份。

?

2. 注意事項

  • 備份目錄的存儲空間
    • 確保目標目錄有足夠的存儲空間容納所有備份文件。
  • 數據庫的一致性
    • 在備份期間,建議不要進行寫操作,以避免數據不一致。
  • 備份權限
    • 運行備份命令的用戶需要具有訪問 Neo4j 安裝目錄和目標備份目錄的權限。

?

二. docker 容器化操作

導出和導入時都需要停止容器,因為正在啟動的容器不允許操作,如下操作日志:

neo4j-admin database dump --to-path=/neo4j/backup/ neo4j# neo4j-admin database dump --to-path=/neo4j/backup/ neo4j
2024-12-11 13:24:49.126+0000 INFO  [o.n.c.d.DumpCommand] Starting dump of database 'neo4j'
2024-12-11 13:24:49.146+0000 ERROR [o.n.c.d.DumpCommand] Failed to dump database 'neo4j': The database is in use. Stop database 'neo4j' and try again.
2024-12-11 13:24:49.148+0000 ERROR [o.n.c.d.DumpCommand] Dump failed for databases: 'neo4j'
Dump failed for databases: 'neo4j'
Run with '--verbose' for a more detailed error message.

也就是說我們無法在容器內進行操作,需要停止容器后進行備份,恢復

?

1. 導出(備份)

停止容器

首先停止要導出的neo4j數據庫,在docker compose文件所在位置下執行

docker compose  stop neo4j[+] Stopping 1/1? Container neo4j  Stopped   

?

執行備份

在docker compose文件同級目錄下執行

docker run --interactive --tty --rm \--volume=./neo4j/data:/data \--volume=./neo4j/data/backup:/neo4j/backup/ \neo4j \
neo4j-admin database dump neo4j --to-path=/neo4j/backup/# 如下日志
neo4j-admin database dump neo4j --to-path=/neo4j/backup/
2024-12-11 13:01:51.864+0000 INFO  [o.n.c.d.DumpCommand] Starting dump of database 'neo4j'
Done: 36 files, 257.9MiB processed in 0.281 seconds.
2024-12-11 13:01:52.449+0000 INFO  [o.n.c.d.DumpCommand] Dump completed successfully

部分命令解釋:

### `--rm`
容器停止后自動刪除,避免占磁盤空間。
### `-v ./neo4j/data/backup:/neo4j/backup/ `
將宿主機的 `/data/neo4j` 目錄掛載到容器內的 `/neo4j/backup/` 目錄,實現數據共享與持久化。### `neo4j-admin database dump neo4j --to-path=/neo4j/backup/`
在容器內用 `neo4j-admin` 工具備份名為 `neo4j` 的數據庫,備份文件存到容器內 `/neo4j/backup/` 目錄(實際會存到宿主機對應掛載目錄)。 

?

2. 導入(恢復)

停止容器(如果未停止)

首先停止要導入的neo4j數據庫,在docker compose文件所在位置下執行

docker compose stop  neo4j

?

執行導入

docker run -it \--rm \-v ./neo4j/data/backup:/neo4j/backup/ \neo4j:latest \neo4j-admin database load --from-path=/neo4j/backup/ neo4j 
# 如果數據庫存在會報如下錯誤
Failed to load database 'neo4j': Database already exists: neo4j
Load failed for databases: 'neo4j'
Load failed for databases: 'neo4j'
Run with '--verbose' for a more detailed error message.

?

強制導入(謹慎操作)

docker run -it \--rm \-v ./neo4j/data/backup:/neo4j/backup/ \neo4j:latest \neo4j-admin database load --from-path=/neo4j/backup/ neo4j --overwrite-destination=trueDone: 36 files, 257.9MiB processed in 0.209 seconds.

部分參數說明:


### `--rm`
容器停止后自動刪除,節省磁盤空間。### `-v./neo4j/data/backup:/neo4j/backup/`
將宿主機的 `./neo4j/data/backup` 目錄掛載到容器內 `/neo4j/backup/` 目錄,實現數據共享與持久化。### `neo4j:latest`
指定運行Neo4j的最新版本鏡像。### `neo4j-admin database load --from-path=/neo4j/backup/ neo4j --overwrite-destination=true`
在容器內用 `neo4j-admin` 工具,從 `/neo4j/backup/` 路徑(對應宿主機相關目錄)加載備份數據到名為 `neo4j` 的數據庫,`--overwrite-destination=true` 表示覆蓋原有數據庫

?

3. 啟動容器

docker compose start neo4j

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/62776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/62776.shtml
英文地址,請注明出處:http://en.pswp.cn/web/62776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

selenium自動爬蟲工具

一、介紹selenium爬蟲工具 selenium 是一個自動化測試工具,可以用來進行 web 自動化測試、爬蟲 selenium 本質是通過驅動瀏覽器,完全模擬瀏覽器的操作,比如跳轉、輸入、點擊、下拉等,來拿到網頁渲染之后的結果,可支持…

Unity開發數字孿生項目

前言:記錄下自己用Unity開發數字孿生項目,所用到的知識點、功能點以及對項目認知總結,當然還有開發過程中所遇到的坑。此篇博客也是會隨時進行更新。 😊屏幕前看到此片文章的開發者們在此類項目開發過程中少走些彎路,希…

node利用路由搭建web實例

npm init npm i express body-parser cookie-parser 封裝web實例 搭建路由 導出web 應用實例注冊

量化交易系統開發-實時行情自動化交易-8.25.真格(澎博財經旗下)平臺

19年創業做過一年的量化交易但沒有成功,作為交易系統的開發人員積累了一些經驗,最近想重新研究交易系統,一邊整理一邊寫出來一些思考供大家參考,也希望跟做量化的朋友有更多的交流和合作。 接下來會對于真格(澎博財經…

QT JSON文件解析

參考博客 https://blog.csdn.net/cpp_learner/article/details/118421096 1 打開文件&#xff0c;讀取全部內容 QFile file("../Json/js.json"); if (!file.open(QFile::ReadOnly | QFile::Text)) {qDebug() << "cant open error!";return; }// 讀…

面試常見-Java 原生實現常見數據結構

Java 原生實現常見數據結構 文章目錄 Java 原生實現常見數據結構一、引言二、數組&#xff08;Array&#xff09;&#xff08;一&#xff09;概念&#xff08;二&#xff09;代碼實現 三、鏈表&#xff08;Linked List&#xff09;&#xff08;一&#xff09;概念&#xff08;二…

1. 機器學習基本知識(5)——練習題(參考答案)

20.&#x1f517;本章代碼筆記&#x1f4d3;鏈接&#xff08;需要&#x1fa9c;&#xff09;&#xff1a;&#xff08;01_the_machine_learning_landscape.ipynb - Colab (google.com)&#xff09; 如果你不想通過上面的官方網址下載本章的筆記&#xff0c;還可以在本篇博文的…

通常一個 Xml 映射文件,都會寫一個 Dao 接口與之對應, 請問,這個 Dao 接口的工作原理是什么?Dao 接口里的方法, 參數不同時,方法能重載嗎?

Dao 接口 即 Mapper 接口 。接口 的 全 限 名 &#xff0c;就是 映 射 文 件 中 的 namespace 的值 &#xff1b; 接口 的 方 法 名 &#xff0c; 就 是 映 射 文 件 中 Mapper 的 Statement 的 id 值&#xff1b; 接 口 方 法 內 的 參數 &#xff0c; 就 是 傳 遞 給 sql 的參…

硬件設計 | Altium Designer軟件PCB規則設置

基于Altium Designer&#xff08;24.9.1&#xff09;版本 嘉立創PCB工藝加工能力范圍說明-嘉立創PCB打樣專業工廠-線路板打樣 規則參考-嘉立創 注意事項 1.每次設置完規則參數都要點擊應用保存 2.每次創建PCB&#xff0c;都要設置好參數 3.可以設置默認規則&#xff0c;將…

WebDAV服務不能上傳大文件,文件超過50M報錯[0x800700DF]怎么辦?

這個問題需要分別從服務端和客戶端解決。 1.Windows客戶端 解除50M文件限制&#xff0c;Windows訪問Webdav服務時&#xff0c;大于50M文件提示錯誤[錯誤:0x800700DF] 部署了webdav&#xff0c;Windows10映射網絡磁盤&#xff0c;傳輸文件超過大約50MB的文件會彈出“0x800700…

安全基礎學習-keil調試匯編代碼

初始目的是為了通過匯編編寫CRC功能。 但是基礎為0&#xff0c;所以目前從搭建工程開始記錄。 大佬繞路。 &#xff08;一&#xff09;創建項目 1. 新建項目 打開 Keil uVision。選擇 Project -> New uVision Project 創建一個新項目。選擇你的目標設備&#xff08;如 AR…

安裝qt 5.15.2筆記

撰文是2024年12月 最終實現了 1、用梯子下載了離線包5.14.2&#xff0c;最后沒用 2、用內地鏡像在線安裝5.15.2&#xff0c;3分鐘裝完 正文開始&#xff0c;qt官方簡稱官方。 官方包官方自5.15.X起&#xff0c;不再提供的exe/run安裝包https://download.qt.io/archive/qt/ …

Redis Java 集成到 Spring Boot

Hi~&#xff01;這里是奮斗的明志&#xff0c;很榮幸您能閱讀我的文章&#xff0c;誠請評論指點&#xff0c;歡迎歡迎 ~~ &#x1f331;&#x1f331;個人主頁&#xff1a;奮斗的明志 &#x1f331;&#x1f331;所屬專欄&#xff1a;Redis &#x1f4da;本系列文章為個人學習筆…

【Syncfusion系列】Diagram 雜談 第三篇 序列化和反序列化

目錄 序列化保存C# 代碼示例&#xff0c; 方式1 &#xff1a;C# 代碼示例&#xff0c; 方式2 &#xff1a; 反序列化加載C# 代碼示例, 方式1&#xff1a;C# 代碼示例, 方式2&#xff1a; **如何序列化自定義屬性**序列化和反序列化都存在的一個問題解決方式 圖表是否已修改&…

麒麟信安推出支持信創PC的新一代云桌面方案,助力政務信創高效安全運維

12月11日&#xff0c;在第二屆國家新一代自主安全計算系統產業集群融通生態大會上&#xff0c;麒麟信安發布了支持信創PC的新一代云桌面方案&#xff0c;該方案是基于國際TCI架構實現國產PC機云化納管在國內的首次發布&#xff0c;并與銀河麒麟桌面操作系統、長城國產PC整機實現…

中國科學院2001年數據結構試題

一、單項選擇題(每空2分&#xff0c;共20分) 1&#xff0e;下列函數中漸近時間復雜度最小的是( )。 A&#xff0e;T1(n)nlog2n5000n B&#xff0e;T2(n)n2-8000n C&#xff0e;T3(n)nlog221-6000n D&#xff0e;T4(n)2nlog2n-7000n 2&#xff0e;線性表的靜態鏈表存儲結構與順序…

MySQL數據表記錄刪操作

刪除操作&#xff1a;作用刪除表里的記錄行&#xff08;都是整行整行的刪除的&#xff09; 1.單表的刪除 語法 delete from 表名 where 要刪除的記錄篩選條件; 案例&#xff1a;刪除員工編號大于203的員工信息 delete from employees where employee_id>203; 2.多表的刪除…

網絡原理04

可靠傳輸&#xff0c;是TCP最核心的特性 可靠傳輸不是說數據100%傳輸給接收方了 1&#xff09;發送方發出數據后&#xff0c;能過知道接收方是否收到數據 2&#xff09;一旦發現對方沒收到&#xff0c;可以通過一定的方法”補救” 1. 確認應答 發送方&#xff0c;把數據已…

微信小程序5-圖片實現點擊動作和動態加載同類數據

搜索 微信小程序 “動物覓蹤” 觀看效果 感謝閱讀&#xff0c;初學小白&#xff0c;有錯指正。 一、功能描述 a. 原本想通過按鈕加載背景圖片&#xff0c;來實現一個可以點擊的搜索button&#xff0c;但是遇到兩個難點&#xff0c;一是按鈕大小調整不方便&#xff08;網上搜索…

Java里局部變量和成員變量的隱式初始化

注&#xff1a;本文是對另一篇文檔&#xff08; https://blog.csdn.net/duke_ding2/article/details/142365872 &#xff09;的補充。 文章目錄 環境初始化局部變量&#xff08;棧&#xff09;成員變量&#xff08;堆&#xff09;其它數組 分析安全性性能成員變量 VS. 局部變量…