আমি কীভাবে বলতে পারি যেখানে মঙ্গোডিবি ডেটা সংরক্ষণ করছে? (এটি ডিফল্ট / ডেটা / ডিবিতে নেই!)


160

আমার হোস্টটি একটি মংডব্ব উদাহরণ দিয়ে এসেছিল এবং কোনও / ডিবি ডিরেক্টরি নেই তাই এখন আমি ভাবছি যে ডেটা আসলে সংরক্ষণ করা হচ্ছে তা জানতে আমি কী করতে পারি।


7
এ সম্পর্কে আরও একটি সাম্প্রতিক প্রশ্ন রয়েছে যার উত্তম উত্তর রয়েছে: "মংডব্বের জন্য ডিফল্ট ডাটাবেসের পাথ কী?" । ডেটা পাথ হয় হয় ডিফল্ট /data/db(যদি কোনও কনফিগার ফাইল ব্যবহার করা হয় না) বা এর মাধ্যমে আবিষ্কারযোগ্য db.adminCommand("getCmdLineOpts").parsed.dbpath
স্টেনি

6
ওএসএক্স, মঙ্গো 3.0.০.৪ এ, আমাকে "db.adminCommand (" getCmdLineOpts ") ব্যবহার করতে হয়েছিল p parsed.storage.dbPath"
ski_squaw

@ স্টেনি আপনার মন্তব্যটি আমাকে সাহায্য করেছে (আমি উইন্ডোজে রয়েছি তাই আমি রোবমঙ্গো ব্যবহার করছি), তবে আপনার প্রশ্ন-লিঙ্কটি এই প্রশ্নের দিকে, আপনার লক্ষ্যযুক্ত লক্ষ্য নয় - stackoverflow.com/a/12738557/112764 - এবং এতে 3.x, এটি প্রকৃতপক্ষেdb.adminCommand("getCmdLineOpts").parsed.storage.dbpath
NateJ

5
@ নাটজে ধন্যবাদ! সংশ্লিষ্ট প্রশ্নে উত্তর <= 2.4 বয়স্ক ফর্ম 2.6+ MongoDB জন্য উদাহরণ সেইসাথে হয়েছে। এছাড়াও একটি শেল সহায়ক রয়েছে যা আপনি adminডাটাবেসে পরিবর্তন করতে বা মনে রাখার পরিবর্তে ব্যবহার করতে পারেন adminCommand: db.serverCmdLineOpts().parsed.storage.dbPath(মঙ্গোডিবি ২.6+) +
স্টেনি

উত্তর:


140

mongodডেটাবেস অবস্থান ডিফল্ট /data/db/

আপনি চালাতে পারেন ps -xa | grep mongodএবং আপনি একটি দেখতে না --dbpathযা স্পষ্টভাবে বলে mongodডিবি অবস্থানের জন্য যে পরামিতি তাকান এবং আপনি একটি না থাকে dbpathআপনার mongodb.conf, তারপরে ডিফল্ট অবস্থান হবে: /data/db/এবং আপনি সেখান হওয়া উচিত।


11
এরকম কোনও ডিরেক্টরি নেই
ব্যবহারকারী 2384994

18
@ user2384994 খনিটি /etc/mongod.conf
K -

1
পথ দেখেনি, তবে /usr/bin/mongod -f /etc/mongod.conf। কনফিগার থেকে dbpatch নিয়েছে।
পুতনিক

6
পাশাপাশি পরীক্ষা করুন /usr/local/etc/mongod.conf(কনফিগারেশন ফাইল) এবং /usr/local/var/mongodb(ডাটাবেসের অবস্থান)। কিছু সিস্টেমে এগুলি ডিফল্ট হবে।
মাইলস এরিকসন

আচ্ছা এই একজনের উচিৎ বর্তমান পথ অবিকল সব MongoDB সংস্করণের জন্য প্রিন্ট stackoverflow.com/a/52036070/248616
ভিয়েতনামে জি ভি ইউ

57

আপনার কনফিগারেশন ফাইলটি কী বলে?

$ grep dbpath /etc/mongodb.conf

যদি এটি সঠিক না হয় তবে এটি ব্যবহার করে দেখুন, আপনার ডাটাবেস ফাইলগুলি তালিকাতে উপস্থিত থাকবে:

$ sudo lsof -p `ps aux | grep mongodb | head -n1 | tr -s ' ' | cut -d' ' -f 2` | grep REG

এটি /var/lib/mongodb/*আমার ডিফল্ট ইনস্টলেশন (উবুন্টু 11.04) এ রয়েছে।

নোট করুন যে সুবিধার্থে একটি /var/lib/mongodb/mongod.lockফাইল mongodপিআইডি হোল্ড রয়েছে , তবে এটি ডেটা ডিরেক্টরিতে অবস্থিত - যা আমরা সন্ধান করছি ...


এই সার্ভারে কোনও / var / lib ডিরেক্টরি কাজ করে না এবং এই দুটি কমান্ড কাজ করে না (প্রথমটি /etc/mongodb.conf দ্বিতীয়টি সনাক্ত করতে পারে না এবং অপ্রকাশিত lsof খুঁজে পায় না)
Zugwalt

আপনার হোস্টের জন্য আপনার ইনফস যুক্ত করা উচিত। ডিস্ট্রোর মতো উবুন্টু বলে মনে হচ্ছে না।
ড্রলকোসোসোস

4
উবুন্টু 16.04 মঙ্গদ্বাব v3.4.10 এ, এটি$ grep dbPath /etc/mongod.conf
ইহসান

31

মঙ্গোদব v2.6.4 এর নতুন সংস্করণে চেষ্টা করুন:

grep dbpath /etc/mongod.conf

এটি আপনাকে এরকম কিছু দেবে:

dbpath=/var/lib/mongodb

এবং এটিই এটি ডেটা সঞ্চয় করে।


আমারও এখানে ছিল। এই ডিরেক্টরিটি ফাইলের মাপ যাচাই করতে চেয়েছিলেন এমন লোকদের জন্য:du -sh * | sort -hr

25

db.serverCmdLineOpts()আপনি যদি সার্ভারের সাথে সংযোগ করতে পারেন তবে প্রকৃত পাথ সন্ধানের জন্য আমি সবচেয়ে শক্তিশালী উপায়টি খুঁজে পাই । "পার্সড.স্টোরেজ.ডিবিপ্যাথ" এ আপনার সার্ভারটি বর্তমানে যে পথটি ব্যবহার করছে তা রয়েছে এবং এটি যখন কনফিগার থেকে নেওয়া হয় বা কমান্ড লাইন আর্গুমেন্ট থেকে পাওয়া যায় উভয়ই উপলব্ধ।

এছাড়াও আমার ক্ষেত্রে এটি নিশ্চিত করা গুরুত্বপূর্ণ ছিল যে কনফিগার মানটি প্রকৃত মান প্রতিফলিত করে (যেমন শেষ পুনরায় আরম্ভের পরে কনফিগার পরিবর্তন হয়নি), যা এখানে প্রদত্ত সমাধানগুলির দ্বারা গ্যারান্টিযুক্ত নয়।

db.serverCmdLineOpts()

উদাহরণ আউটপুট:

{
    "argv" : [ 
        // --
    ],
    "parsed" : {
        "config" : "/your-config",
        "storage" : {
            "dbPath" : "/your/actual/db/path",
            // --
        }
    },
    "ok" : 1.0
}

3
এটি এখানে সেরা উত্তর
ওভারস্টিয়ার

আমার পক্ষেও সেরা উত্তর
নাম জি ভিউ

21

যদিও এই প্রশ্নটি মঙ্গোর লিনাক্স / ইউনিক্স দৃষ্টান্তের জন্য লক্ষ্যবস্তু করা হয়েছে, অপারেটিং সিস্টেমটি নির্বিশেষে এটি অনুসন্ধানের প্রথম ফলাফলগুলির মধ্যে একটি, তাই ভবিষ্যতের উইন্ডোজ ব্যবহারকারীদের ক্ষেত্রে এটি খুঁজে পাওয়া যায়:

ডিফল্ট পদ্ধতিতে যদি মঙ্গোডিবি একটি উইন্ডোজ পরিষেবা হিসাবে সেট আপ করা হয় তবে আপনি সাধারণত মঙ্গোডিবি পরিষেবাদির বৈশিষ্ট্যগুলিতে 'এক্সিকিউটেবলের পথে' এন্ট্রি দেখে এটি সন্ধান করতে পারেন:

বৈশিষ্ট্য উইন্ডোটি 'এক্সিকিউটেবলের পথে' বিকল্পটি দেখায়


এটি সুস্পষ্ট নয়, তবে প্রশ্নগুলি * নিক্স ওএস
st78

3
@ st78 আমি জানি, তবে এখনও উইন্ডোজের অবস্থান অনুসন্ধান করার সময় এটি গুগলের প্রথম ফলাফলগুলির মধ্যে একটি, যার কারণেই আমি আমার মতো লোকদের জন্য যারা উইন্ডোজের পথে (একবার আমি এটি আবিষ্কার করেছিলাম) সম্বোধন করে একটি উত্তর রেখেছিলাম।
রোবটনিক

15

আমার অভিজ্ঞতা থেকে আমি করার /var/lib/mongodbপরে ডিফল্ট অবস্থান

sudo apt-get install -y mongodb-org

1
আমি লিনাক্স মিন্টের 17.3 ব্যবহারকারীদের জন্য এটি নিশ্চিত করতে পারি।
ম্যাথিউস ডালপিজল

8

আমি এখানে আমার একটি ওএসএক্স সিস্টেম / ইউএসআর / লোকাল / ভার / মংডোবিতে পেয়েছি


3
এটি হোমব্রিউউ ব্যবহারকারীদের জন্য সত্য
ম্যাথিউ

1
প্রশ্নটি হল "আমি কীভাবে খুঁজে পাব" মঙ্গোদব ডেটা সঞ্চয় করার অবস্থান। নির্দিষ্ট ব্যবহারকারী বা প্ল্যাটফর্মের জন্য কেবল পথ নয়।
ইউ চেন

4

উইন্ডোগুলির জন্য মঙ্গোডিবি \ সার্ভার \ 4.0 \ বিন ফোল্ডারের ভিতরে যান এবং যে কোনও পাঠ্য সম্পাদককে mongod.cfg ফাইলটি খুলুন। তারপরে লাইনটি সনাক্ত করুন যা dbPath পরম নির্দিষ্ট করে। লাইনটি দেখতে একই রকম দেখাচ্ছে

dbPath: D: \ প্রোগ্রাম ফাইলগুলি \ মঙ্গোডিবি \ সার্ভার \ 4.0 \ ডেটা


2

সবেমাত্র ভিতরে .ুকিয়েই এটি খুঁজে পেয়েছে /var/db। সহায়তার জন্য ধন্যবাদ যদিও - আমি নিশ্চিত যে এই উত্তরগুলি অন্যান্য সিস্টেমে প্রয়োগ করা হয়েছে (উদাঃ উবুন্টু) এবং অন্যকে সহায়তা করবে!


2

আপনি যদি কোনওভাবে mongod.log সনাক্ত করতে পারেন এবং এটির উপরে একটি গ্রেপ করতে পারেন

grep dbpath mongod.log

ডিবিপাথের মান হ'ল মংডব্বের ডেটা লোকেশন !! শুভকামনা :)


2

প্রকৃতপক্ষে, ডিফল্ট ডিরেক্টরি যেখানে মঙ্গোদ উদাহরণটি তার ডেটা সঞ্চয় করে

/data/db লিনাক্স এবং ওএস এক্স এ,

\data\db উইন্ডোজে

আপনি যদি প্যাকেজ পরিচালনা সিস্টেম ব্যবহার করে মঙ্গোডিবি ইনস্টল/etc/mongod.conf করেন, ডিরেক্টরিটি নির্দিষ্ট করা আছে তা দেখতে আপনার প্যাকেজগুলির দ্বারা সরবরাহিত ফাইলটি পরীক্ষা করুন ।

storage.dbPathসেটিং শুধুমাত্র জন্য উপলব্ধ mongod

লিনাক্স প্যাকেজ init স্ক্রিপ্টগুলি storage.dbPathডিফল্ট থেকে পরিবর্তনের আশা করে না । আপনি যদি লিনাক্স প্যাকেজগুলি ব্যবহার করেন এবং পরিবর্তন করেন তবে storage.dbPathআপনাকে নিজের থিম স্ক্রিপ্টগুলি ব্যবহার করতে হবে এবং অন্তর্নির্মিত স্ক্রিপ্টগুলি অক্ষম করতে হবে।


1

আপনি এটি শুরু করার সময় এটি আপনাকে দেখায়। তবে আমি জানি না এটি আপনার হোস্টে করা বা না করার মতো কিছু। আপনার যদি কমান্ড লাইনে অ্যাক্সেস থাকে এবং পরিষেবাটি পুনরায় চালু করতে পারেন তবে আপনি এমন কিছু পাবেন:

    2016-11-15T12:57:09.182-0500 I CONTROL  [initandlisten]
 MongoDB starting : pid=16448 port=27017 dbpath=C:\data\db\ 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.