簡體   English   中英

我在mongodb中的哪個數據庫?

[英]Which is my database in mongodb?

與上一個參考的下一個問題mongodb在ubuntu中將databse存儲在哪里?

$ cd /var/lib/mongodb/
$ ls
ihtx.0  ihtx.1  ihtx.ns  journal  local.0  local.ns  mongod.lock

在這里,我可以看到ihtx.0 ihtx.1 ihtx.ns三個名稱相同的文件。 這是我通常在mongo shell中看到的mydatabase之一? 我應該丟哪一個?

嘗試每個,得到以下錯誤:

$ mongodump --dbpath /var/lib/mongodb/ihtx.XX --out /home/user/Desktop/

If you are running a mongod on the same path you should connect to that instead of direct data file access

Thu Mar 13 11:17:21.123 dbexit: 
Thu Mar 13 11:17:21.123 [tools] shutdown: going to close listening sockets...
Thu Mar 13 11:17:21.123 [tools] shutdown: going to flush diaglog...
Thu Mar 13 11:17:21.123 [tools] shutdown: going to close sockets...
Thu Mar 13 11:17:21.123 [tools] shutdown: waiting for fs preallocator...
Thu Mar 13 11:17:21.123 [tools] shutdown: closing all files...
Thu Mar 13 11:17:21.123 [tools] closeAllFiles() finished
Thu Mar 13 11:17:21.123 [tools] shutdown: removing fs lock...
Thu Mar 13 11:17:21.123 [tools] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 13 11:17:21.123 dbexit: really exiting now

如果設置了dbpath或mongoDB服務正在運行,則此命令將為您服務ihtx表示您的dbname

$ mongodump -d ihtx --out /home/user/Desktop/intxDB

ihtx.0,ihtx.1,ihtx,ns代表數據庫ihtx

.0 .1等文件本身就是數據文件。 MongoDB將第一個數據文件命名為.0,然后命名為.1,依此類推。mongod分配的第一個文件為64兆字節,接下來的128兆字節,依此類推,最高為2 GB,此時所有后續文件均為2 GB。

“ .ns”文件是名稱空間文件。 每個集合和索引都將視為一個名稱空間。 每個命名空間為628個字節,.ns文件默認為16MB。

現在,在您的問題中,mongod實例無法刪除fs鎖(如錯誤所示)。

Thu Mar 13 11:17:21.123 [tools] closeAllFiles() finished
Thu Mar 13 11:17:21.123 [tools] shutdown: removing fs lock...
Thu Mar 13 11:17:21.123 [tools] couldn't remove fs lock errno:9 Bad file descriptor
Thu Mar 13 11:17:21.123 dbexit: really exiting now 

就像您的代碼中一樣, dbpath/ var / lib / mongodb ,因此,當您啟動mongo實例時,請使用--dbpath參數,如下所示:

mongod --dbpath=/var/lib/mongodb

因此,首先運行以下命令:

mongod --dbpath=/var/lib/mongodb --repair

之后運行以下命令:

mongodump --dbpath /var/lib/mongodb -d ihtx --out /home/user/Desktop/intxDB

對於第一個問題“我的數據庫文件是哪個?”,請參閱鏈接http://docs.mongodb.org/manual/faq/storage/

它清楚地提到:“ MongoDB將數據文件預先分配為特定大小,部分是為了防止文件系統碎片化。MongoDB將第一個數據文件命名為.0,將下一個.1命名為等等。”

對於轉儲時遇到的錯誤,請刪除--dbpath選項,然后嘗試。

您要么從運行中的服務器導出,要么從文件(如果服務器未運行或鎖定)中導出,則不能同時導出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM