পঠনযোগ্য ফাইল সিস্টেম ম্যাকের উপর mkdir / ডেটা / ডিবি চেষ্টা করার সময়


105

আমি মূল ডিরেক্টরিতে একটি নতুন ফোল্ডার তৈরি করার চেষ্টা করছি

সব ধরণের উদাহরণ দিয়ে চেষ্টা করেছি

sudo mkdir /data/db

sudo mkdir -p /data/db

আমি পেতে থাকি

mkdir: / ডেটা: কেবল পঠনযোগ্য ফাইল সিস্টেম


4
stackoverflow.com/questions/58283257/… এটি নীচের মন্তব্যগুলির উত্তর দেয়।
ক্যামিল

উত্তর:


141

রুট ফোল্ডারের চেয়ে আপনার যদি ম্যাক থাকে এবং ক্যাটালিনায় আপডেট হয় তবে তা আর লেখার যোগ্য নয়।

আমি সবেমাত্র ডিরেক্টরিটি অন্য কোথাও বদলেছি।

আপাতত এই আদেশটি ব্যবহার করা হয়েছে

mongod --dbpath=/Users/user/data/db

4
এটিকে স্থায়ী করার কোনও উপায় আছে কি? প্রতিবার আমি মঙ্গোডিবি সার্ভারটি শুরু করার সময় এটি টাইপ করতে হবে!
এভি পল

4
@ এভিপল সম্ভবত সেরা সমাধান নাও হতে পারে তবে আপনি এমন একটি উপাধি তৈরি করতে পারেন যা আপনার পথে বোঝায়।
জাজানোব্লকচাইন

4
@ জেফগোস আমি ধরে নিচ্ছি আপনি প্রকৃত নামের সাথে ব্যবহারকারীকে প্রতিস্থাপন করেন নি।
আমান

4
@ অ্যালেক্সএল এটি আমার পক্ষেও কাজ করছে। তবে কি আমি প্রতিবার আমার ডেভ মঙ্গো ডিবি চালাতে চাই মংগড --dbpath = / ব্যবহারকারী / আমার_ ইউএসআইএন / ডেটা / ডিবি টাইপ করতে হবে? কারণ পরের বার যখন আমি মঙ্গোদ চালাচ্ছি তখন তা বলছে / ডেটা / ডিবি পাওয়া যায় নি
শোয়েব মির্জা

4
আপনি যদি এটি ম্যাকটি /usr/local/etc/mongod.conf এর অধীনে ব্যবহার করেন তবে আপনি মঙ্গোডিবি কনফিগারেশন ফাইলে dbPath সেট করে স্থায়ী করতে পারেন। তারপরে নিম্নলিখিতগুলি যুক্ত করুন: "স্টোরেজ: ডিবিপাথ: আপনার ডিবি ডিরেক্টরিতে পথ"
সামুক

76

অফিসিয়াল ডক্স থেকে https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/

হোমব্রিউ ইনস্টল করুন এবং নিম্নলিখিত কমান্ডগুলি চালান

sudo chown -R $(whoami) $(brew --prefix)/*

তারপর

brew tap mongodb/brew

তারপর

brew install mongodb-community@4.2

এবং

brew services start mongodb-community

বা

mongod --config /usr/local/etc/mongod.conf

তারপর

ps aux | grep -v grep | grep mongod

এবং

mongo

আপনি show dbsমঙ্গো শেল চালাতে পারেন যাচাই করতে


15

নতুন ম্যাকোস ক্যাটালিনা আপডেটের সাথে ফোল্ডারটি /data/dbকেবল পঠনযোগ্য হয়ে যায়, আপনি এটি পরিবর্তন করতে পারবেন না। অন্য ফোল্ডারে একটি ডিবি তৈরি করতে এই পদ্ধতিটি অনুসরণ করুন:

  1. mongodডিরেক্টরি পরিবর্তন করুন :

    sudo mongod --dbpath /System/Volumes/Data/data/db

  2. এটি ব্যবহারের জন্য এটির একটি নাম দিন mongod:

    alias mongod="sudo mongod --dbpath /System/Volumes/Data/data/db"

  3. শুধু mongodআপনার টার্মিনাল টাইপ করুন, এটি কাজ করা উচিত।

অতিরিক্ত => আপনার যদি এটির বর্তমান ব্যবহারকারীর অধিকার দেওয়ার প্রয়োজন হয় তবে কোডের এই লাইনটি ব্যবহার করুন:

sudo chown -R $(whoami) /System/Volumes/Data/data/db

(কেবল তথ্যের জন্য -> $(whoami)কেবলমাত্র একটি চলক যা আপনার বর্তমান ব্যবহারকারীকে ফেরত দেয়)


11

মঙ্গোদ dbফোল্ডারের পথের স্থায়ী পরিবর্তন করতে change

এই দস্তাবেজগুলি অনুসরণ করে তারা মোটামুটি এটি বলে। যদি মংডো ব্রিউ পরিষেবা দিয়ে শুরু করা হয়:

$ brew services start mongodb-community@4.2

এটি পথে কনফিগারেশন ফাইল ব্যবহার করবে /usr/local/etc/mongod.conf


এটি ঠিক করতে, কনফিগার ফাইলটি সম্পাদনা করুন:

$ vim /usr/local/etc/mongod.conf

এবং dbPathযেমন আপনার হোম ডিরেক্টরিতে উদাহরণ পরিবর্তন করুন :

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /Users/<username>/data/db
net:
  bindIp: 127.0.0.1 

ফাইলটি সংরক্ষণ করুন এবং মদযুক্ত মুগড পুনরায় চালু করুন:

$ brew services restart mongodb-community@4.2

4
এটি আমার পক্ষে কাজ করে নি, মঙ্গো এখনও / ডেটা / ডিবিতে সন্ধান করছে
জেন_মার

@ Xen_mar আপনি ফাইল সম্পাদনার পরে মঙ্গোদ চালানোর চেষ্টা করছেন? স্পষ্টতই মংডোড ইতিমধ্যে ব্রিউ পরিষেবাগুলি দ্বারা চালিত হয়
জেইসি

3

আমি যখন উডেমি কোর্স করছিলাম তখন এটি আমার জন্য কাজ করেছিল: ১. আপনার টার্মিনালে টাইপ করে হোমব্রু ইনস্টল করুন

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. আপনার পুরানো / ডেটা / ডিবি ফোল্ডারটি (যদি আপনি আপনার বর্তমান ডিবিএস ব্যাকআপ করতে চান) একটি নন রুট ফোল্ডারে নিয়ে যান এবং পরবর্তী পদক্ষেপে এগিয়ে যান

  2. টার্মিনালে ক) brew uninstall mongodb খ) প্রয়োজনে রান চালানো brew uninstall --force mongodb ) brew tap mongodb/brew ঘ) brew install mongodb-community ই)brew services start mongodb/brew/mongodb-community

  3. আপনার এখন যা দরকার তা হ'ল টার্মিনালে মঙ্গো চালানো এবং আপনি মঙ্গো শেল সিম্বল দেখতে পাবেন>

যদি এটি কাজ করে তবে দয়া করে আমাকে জানান;) এই নিবন্ধটির উপর ভিত্তি করে এটি নির্ধারণ করতে আমার প্রায় 2 ঘন্টা সময় লেগেছে: /apple/362883/mongodb-doesnt-work- after-update-to -ম্যাকোস-ক্যাটালিনা-10-15

চিয়ার্স, রাদু


3

আপনি যদি ম্যাকটিতে থাকেন এবং সমস্যার মুখোমুখি হন তবে নীচের কমান্ডটি কার্যকর, whoamiভেরিয়েবল বর্তমান ব্যবহারকারীকে পেয়ে যাবে

mongod --dbpath=/Users/$(whoami)/data/db

3

মংডোব-সম্প্রদায় সূত্রের জন্য ডিফল্ট পাথ

মঙ্গোডিবি সার্ভার এবং সরঞ্জাম বাইনারিগুলি ইনস্টল করার পাশাপাশি, মঙ্গোদব-সম্প্রদায় সূত্রটি তৈরি করে:

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

তাহলে এটি আমার পক্ষে কাজ করেছে:

mkdir -p usr/local/var/mongodb/data/db

2

সুতরাং, ম্যাকোস দিয়ে ক্যাটালিনা অ্যাপল সুরক্ষার প্রয়োজনে একটি নতুন ভলিউম তৈরি করেছে। আপনি যদি ম্যাকস ক্যাটালিনাতে থাকেন তবে আপনাকে /data/dbফোল্ডারটি তৈরি করতে হবে System/Volumes/Data

এই আদেশগুলি অনুসরণ করুন

  1. sudo mkdir -p /System/Volumes/Data/data/db
  2. sudo chown -R আইডি- /System/Volumes/Data/data/db

মঙ্গোডিবি শুরু করুন

  1. brew services run mongodb-community

  2. উপভোগ করুন 😉


2

আপনি আর ম্যাক ক্যাটালিনায় রুট ডিরেক্টরিতে কোনও ফোল্ডার তৈরি করতে পারবেন না!

https://www.apple.com/macos/catalina/features/

উত্সর্গীকৃত সিস্টেম ভলিউম

ম্যাকোস ক্যাটালিনা একটি উত্সর্গীকৃত, কেবল পঠনযোগ্য সিস্টেমের ভলিউমে চলে runs যার অর্থ এটি অন্য সমস্ত ডেটা থেকে সম্পূর্ণ পৃথক এবং ম্যাকোসের নির্ভরযোগ্যতা উন্নত করতে সহায়তা করে।

# macOS Catalina, mkdir path
$ sudo mkdir -p /System/Volumes/Data/data/db

# give permissions
$ sudo chown -R `id -un` /System/Volumes/Data/data/db

# macOS 10.14.x -
$ sudo mkdir -p /data/db

# macOS 10.15.x +
$ sudo mkdir -p /System/Volumes/Data/data/db

রেফারেন্স

https://discussion.apple.com/thread/250720711

https://zellwk.com/blog/install-mongodb/

https://www.youtube.com/watch?v=DX15WbKidXY



1

ম্যাকোস ক্যাটালিনা দিয়ে আপনি কেবল পঠনযোগ্য সিস্টেমের ভলিউমে ফাইল বা ডেটা সংরক্ষণ করতে পারবেন না, বা টার্মিনাল সহ কমান্ড লাইন থেকে "রুট" ডিরেক্টরিতে (/) লিখতে পারবেন না।


1

আপনি /data/ডিরেক্টরি তৈরি করতে পারবেন না । এটি এপিএফএস ফাইল সিস্টেমের জন্য সংরক্ষিত। এই সমস্যা সম্পর্কে বোম্বিচের ব্লগ পরীক্ষা করুন ।


সুতরাং, এই পঠনযোগ্য ফাইল সমস্যা সমাধান করা যেতে পারে? আমার একই সমস্যা আছে
জয়নব হাম্মি

4
না, আপনার ডিরেক্টরিতে অন্য নাম ব্যবহার করা দরকার। একটি সম্ভাব্য সমাধান হ'ল অন্য ডিরেক্টরিতে ডেটা ডিরেক্টরি তৈরি করা যা রুট ডিরেক্টরি হিসাবে অনুমোদিত।
jvarela

1

আমি এটা করেছি:

mkdir -p usr/local/var/mongodb/data/db

যেহেতু নতুন পথটি "ইউএসআর / স্থানীয় / ভার / মংডব"।


0

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

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

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

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


0

আমি ক্যাটালিনায় মঙ্গোদব ইনস্টল ও চালানোর জন্য সহজ পদক্ষেপ সহ একটি গিস্ট তৈরি করি

# install homebrew (https://brew.sh/) and run the following commands
sudo chown -R $(whoami) $(brew --prefix)/*
brew tap mongodb/brew
brew install mongodb-community@4.2

## --- aliases to set in your zshrc file

# open your zshrc file
open ~/.zshrc
# copy and paste shorcuts in the end of the file
alias mongod='brew services run mongodb-community'
alias mongod-start='brew services start mongodb-community' #will start MongoDB automatically when you login into your Macbook
alias mongod-status='brew services list'
alias mongod-stop='brew services stop mongodb-community'

# restart your terminal
# type mongod in your terminal for run service & mongod-stop for finish it
# test your mongodb connection with
mongo
show dbs

https://gist.github.com/sturmenta/cf19baa91b1d79d8ae2b305fb7e1f799


0

ডেভিড বাক এখানে যা লিখেছেন তা যুক্ত করতে প্রথমে আপনাকে আসলে ডিরেক্টরি তৈরি করতে হবে। আপনি এটি দিয়ে এটি করতে পারেন:

sudo mkdir / সিস্টেম / ভলিউম / ডেটা / ডেটা / ডিবি

যদি আপনি এই ত্রুটিটি পান:

"কমান্ড লাইনটি পার্স করার সময় ত্রুটি: অজানা বিকল্প '--dbpath / সিস্টেম / ভলিউম / ডেটা / ডেটা / ডিবি আরও তথ্যের জন্য' মংড - হেল্প 'চেষ্টা করুন"

উপন্যাস তৈরির পরে, এটি কেবলমাত্র কারণ ডেভিড বাক (একটি সত্যিকারের সহায়ক মন্তব্য করার সময়) তার উত্তরে একটি জায়গা মিস করেছেন।

এটি ঠিক করতে, টাইপ করুন

unalias mongod

এবং তারপর টাইপ করুন

ওরফে মঙ্গোদ = "সুডো মঙ্গোদ - ডিবিপাথ / সিস্টেম / আয়তন / ডেটা / ডেটা / ডিবি"


এটা আমি ছিল না ... ক্রেডিট ইউজেন বেলিয়েভের উচিত। আমি কেবল তাদের উত্তরটি ফর্ম্যাট করার জন্য সম্পাদনা করেছি ...
ডেভিড বাক

0

আমি ক্ষতির মধ্যে পড়েছি কেন অ্যাপল তা করেছে? সুতরাং এখন, আমরা তাদের ছাড়া আর কোনও রুট স্তরের ডিরেক্টরি থাকতে পারি না? এটি কেবল কোনও অর্থবোধ করে না এবং রুট সুবিধাগুলি সহ লোকেদের তৈরি করা ফোল্ডাররা জানেন তারা কী করছে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.