মঙ্গোডিবি ম্যাক ওএস 10.15 (ক্যাটালিনা) এ আপগ্রেড করার পরে ডেটা ডিরেক্টরি আবিষ্কার করতে পারে না


61

আমি আজ ম্যাকস 10.15 (ক্যাটালিনা) আপডেট করেছি। আমি যখন mongodটার্মিনালে চালাই তখন এটি /data/dbডিরেক্টরিটি খুঁজে পায় না :

  /Users/william > mongod
2019-10-08T17:02:44.183+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] MongoDB starting : pid=43162 port=27017 dbpath=/data/db 64-bit host=Williams-MacBook-Pro-6.local
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] db version v4.0.3
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] allocator: system
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] modules: none
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] build environment:
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten]     distarch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2019-10-08T17:02:44.209+0800 I CONTROL  [initandlisten] options: {}
2019-10-08T17:02:44.211+0800 I STORAGE  [initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
2019-10-08T17:02:44.211+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2019-10-08T17:02:44.211+0800 I NETWORK  [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2019-10-08T17:02:44.211+0800 I CONTROL  [initandlisten] now exiting
2019-10-08T17:02:44.211+0800 I CONTROL  [initandlisten] shutting down with code:100
  /Users/william > 

আমি এর সাথে মঙ্গোডিবি ইনস্টল করার চেষ্টা করেছি brew:

brew install mongodb

  /Users/william > brew install mongodb
Updating Homebrew...
Error: mongodb: unknown version :mountain_lion

কোন সাহায্য?

উত্তর:


91

এটি প্রধান ত্রুটি:

initAndListen ব্যতিক্রম: অস্তিত্বহীনপথ: ডেটা ডিরেক্টরি / ডেটা / ডিবি পাওয়া যায় নি,

ক্যাটালিনার একটি আশ্চর্য পরিবর্তন হয়েছে: এটি রুট ডিরেক্টরিতে পরিবর্তনের অনুমতি দেয় না (এটি ফোরামের থ্রেডেও আলোচনা করা হয়েছিল ):

% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system

দুর্ভাগ্যক্রমে, এটি ক্যাটালিনা বৈশিষ্ট্যের সংক্ষিপ্ত উল্লেখ ব্যতীত অ্যাপলের ক্যাটালিনা রিলিজ নোটগুলিতে স্পষ্টভাবে বর্ণিত হয়নি :

ম্যাকস ক্যাটালিনা একটি উত্সর্গীকৃত, কেবল পঠনযোগ্য সিস্টেম ভলিউমে চলে

ডিরেক্টরিটি /data/dbমোংগোডিবি ডিফল্ট হিসাবে কোডড dbpathহওয়ার কারণে, মূল ডিরেক্টরিতে অবস্থিত নয় এমন একটি আলাদা নির্দিষ্টকরণের জন্য একটি কার্যপ্রণালী হয় । উদাহরণ স্বরূপ:

mongod --dbpath ~/data/db

এটি আপনার হোম ডিরেক্টরিতে মঙ্গোডিবির ডেটা স্থাপন করবে। পথটি ~/data/dbআসলেই বিদ্যমান তা নিশ্চিত করুন ।

বিকল্প পদ্ধতি

বিকল্প পদ্ধতি হ'ল ম্যাকোএসে মঙ্গোডিবি কমিউনিটি সংস্করণ ইনস্টল করার নির্দেশাবলী অনুসরণ করে লাভারেজ দিয়ে brew:

brew tap mongodb/brew
brew install mongodb-community

এটি ডিফল্টরূপে কিছু অতিরিক্ত ফাইল তৈরি করবে:

  • কনফিগারেশন ফাইল (/usr/local/etc/mongod.conf)
  • লগ ডিরেক্টরি পথ (/ usr / স্থানীয় / var / লগ / মংডব)
  • তথ্য ডিরেক্টরি পাথ (/ মার্কিন / স্থানীয় / ভার / মংডব)

চালাতে mongodআপনি হয় করতে পারেন:

  • কমান্ড লাইন থেকে কমান্ডটি ম্যানুয়ালি চালান (এটি সুবিধার জন্য আলাদা করা যেতে পারে):

    mongod --config /usr/local/etc/mongod.conf
  • মংগাডিবিকে পরিষেবা হিসাবে চালনা করুন brew services। নোট করুন যে এটি মঙ্গোডিবি স্ট্যান্ডলোন নোড হিসাবে চালাবে (কোনও প্রতিলিপি সেট নয়), সুতরাং ওপলগের উপর নির্ভর করে যেমন বৈশিষ্ট্যগুলি যেমন পরিবর্তনসমূহ আপনি mongodকনফিগারেশন ফাইলটি পরিবর্তন না করে কাজ করবে না :

    brew services start mongodb-community

উত্তরের জন্য আপনাকে ধন্যবাদ, বাশ_প্রোফাইলে ডিবিপাথ কনফিগার করার জন্য কোনও পদ্ধতি? যাতে প্রতিবার ডিবি পাথ দিয়ে মংড চলার দরকার নেই।
মাধবান সুন্দররাজ

আমার ধারণা, আপডেটের পরে, ওএস মুছে গেছে / ডেটা / ডিবি ফোল্ডারটি যা মঙ্গোদব এর অধীনে উপস্থিত ছিল
সুন্দররাজ

1
@ মাধবনসুন্দরারাজ যদি আপনি mongodb --dbpath ...কেবল mongodবাশ টাইপ করে চালাতে চান তবে আপনি একটি উপনামটি ব্যবহার করতে পারেন alias mongod='mongod --dbpath ...'এবং সেই নামটি নিজের মধ্যে রাখতে পারেন bashrc। এটি পরিষ্কার সমাধান নয় তবে এটি আপনার উদ্দেশ্যে কাজ করতে পারে।
কেভিনাদি

সর্বশেষ ম্যাকোস zsh ব্যবহার করে না? যদি তা হয় তবে এটি এখনও .Bashrc ব্যবহার করে। কারণ উপরোক্ত প্রস্তাবিত ওরফে প্রত্যাশার মতো কাজ করেনি
মাধবান সুন্দররাজ

1
@ মাধবনসুন্দরারাজ zshবা অন্য কোনও শেলের জন্য, আপনাকে সেই শেলটির আরসি ফাইলের নীচে নাম রাখতে হবে। জন্য zshএটা ~/.zshrc। নিশ্চিত হয়ে নিন যে আপনি অন্যান্য উপকরণ তৈরি করার ক্ষেত্রেও শেলের সিনট্যাক্সটি অনুসরণ করেছেন।
কেভিনাদি

60

ক্যাটালিনা ইনস্টল করার পরে, আপনার ডেস্কটপে কল থাকতে পারে Relocated Items। আপনি data/dbফোল্ডারের ভিতরে ফোল্ডারটি খুঁজে পেতে পারেন Security

আমাকে যা করতে হয়েছিল তা হ'ল সরানো Security/data/db, বিশেষত data/dbএবং এটি আমার বাড়ির ফোল্ডারের ভিতরে রেখে দেওয়া।

আপনি নিম্নলিখিত কমান্ডটি চালিয়ে এটি ফাইন্ডার অ্যাপ্লিকেশন বা টার্মিনাল দিয়ে করতে পারেন:

sudo mv /Users/Shared/Relocated\ Items/Security/data ~/

যে রান পরে: mongod --dbpath ~/data/db

উপন্যাসটি আগে তৈরি করা আপনার উপর নির্ভর করে


6
আমি প্রায় উন্মাদ হয়ে গিয়েছিলাম যে কাতালিনা আপগ্রেড আমার সমস্ত ডেটা মুছতে পারে। আমাকে উন্মাদনা থেকে বাঁচানোর জন্য ধন্যবাদ!
অ্যাডাম বুবেলা

1
ধন্যবাদ @ মার্নিক্স হার্ডারভিজক, এটি আমার পক্ষে কাজ করে।
জাইয়েড

2
আপনাকে অনেক ধন্যবাদ আপনি আমার দিনটি বাঁচিয়েছেন,
ম্যাকস

আমি যখন মঙ্গোদ কমান্ডটি চালিত করি তখন আমি পাই: "মোংড" খোলা যায় না কারণ বিকাশকারী যাচাই করা যায় না।
রাজ

@Raz: আমার মনে হয় এই সম্পর্কিত হয় apple.stackexchange.com/questions/362883/...
Marnix Harderwijk

7

কেভিনাদি ইতিমধ্যে প্রশ্নটির বিচার করেছেন, তবে আমি এই সমস্যার সমাধান সম্পর্কে এভাবেই চলেছি :

মোংডব-সম্প্রদায় ইনস্টল করার পরে

  1. sudo mkdir -p /System/Volumes/Data/data/db (ডেটা / ডিবি ফোল্ডার তৈরি করুন)
  2. sudo chown -Rআইডি-অন /System/Volumes/Data/data/db(অনুমতি দিন)
  3. mongod --dbpath=/System/Volumes/Data/data/db (মংগদ্বির ডিবিপাথ পরিবর্তন করুন)
  4. mongod (ভাল চলছে)

আমি মঙ্গডব ইনস্টল করার জন্য এই নিবন্ধটি খুব দরকারী


এটি সমস্যা সমাধানের চেষ্টা করার 1 দিন পরে সাহায্য করেছে! নিবন্ধে ডিবিপাথ পরিবর্তনের কথা উল্লেখ করা হয়নি এবং এটিই আমি নিখোঁজ ছিল
mhlavacka

1

একটি কৌশল খুঁজে পেয়েছে ... ডিরেক্টরি থেকে ~ / ডেটা / ডিবি পুরো ফোল্ডারটি মুছুন তারপরে একটি নতুন তৈরি করুন তবে তার পরিবর্তে এমকিডির -পি / ডেটা / ডিবি ব্যবহার করবেন না, কেবল আপনার ট্র্যাকপ্যাডটি ফোল্ডার তৈরির পদ্ধতিতে ব্যবহার করার জন্য ব্যবহার করুন

এটি আমার জন্য কাজ করেছে


এটি কার্যকর হয়নি :-(
মো।

1

আমার জন্য যা কাজ করেছে তা এখানে:

  1. কোথাও একটি ফোল্ডার তৈরি করুন যেমন উন্নয়ন / মোংডোব / ডেটা / ডিবি
  2. ওপেন mongod.conf ফাইল এবং আপডেট storage.dbPath করার নব নির্মিত ফোল্ডারের পাথ মান

1
mongod.conf ফাইলটি কোথায় ??
ValRob

2
এটি ডিফল্ট ফাইল। এই লিঙ্কটিতে যান: ডকস.মোংডব.com / মানুয়াল / রেফারেন্স / কনফিগারেশন- ওপশন এবং তারপরে "কনফিগারেশন ফাইল"
রোলু


0

ম্যাক সংস্করণ ক্যাটালিনা রুট ফোল্ডারটি আর লেখার যোগ্য নয়।

ব্রিউতে একটি নতুন পাথ (যা এটি নিজে তৈরি করে) ব্যবহার করার জন্য মংডাবের একটি আপডেট সংস্করণ রয়েছে /usr/local/var/mongodbএবং এই নির্দেশিকাগুলি অনুসরণ করলে বিষয়টি ঠিক হয়ে যাবে:

আপডেট করা মংডোব-কমিউনিটি-সংস্করণ ইনস্টল করার গাইড

brew install mongodb-community@VERSION যেখানে ফিক্স সহ প্রথম সংস্করণটি 4.2


উপরের কমান্ডটি sudo দিয়ে কার্যকর করা উচিত। তারপরে dbPath কনফিগারটি সম্মানিত হবে। অন্যথায় /data/dbকনফিগ নির্বিশেষে মঙ্গো এখনও ডিফল্ট ।
ম্যাট হেগম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.