মঙ্গোডিবি: সার্ভারের স্টার্টআপ সতর্কতা রয়েছে '' ডাটাবেসের জন্য অ্যাক্সেস নিয়ন্ত্রণ সক্ষম করা হয়নি ''


91

আমি আজ প্রথম মোঙ্গোডিবি ৩.৪.১ ইনস্টল করেছি। তবে যখন আমি এটি শুরু করি এবং মংগোডিবি শেলটি ব্যবহার করি তখন এটি আমাকে নীচে এই সতর্কতা দেয়:

C:\Users\hs>"C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Server has startup warnings:
2017-01-12T21:19:46.941+0800 I CONTROL  [initandlisten]
2017-01-12T21:19:46.942+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-12T21:19:46.942+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-01-12T21:19:46.942+0800 I CONTROL  [initandlisten]

আমার কম্পিউটারটি মাইক্রোসফ্ট উইন্ডোজ [ version 10.0.14393]।



6
এটি অন্য একটি প্রশ্নের প্রায় নিখুঁত নকল। আপনি কি ইতিমধ্যে গত বছরটি অন্য কোনও ব্যবহারকারীর নামে জিজ্ঞাসা করেছেন? উইন্ডোজের ব্যবহারকারীর নাম এবং সংস্করণটি কেবলমাত্র পৃথক। দেখুন: স্ট্যাকওভারফ্লো.com
জোসেফ ফেরিস

@JosephFerris, 'হ্যাঁ, এই জন্য অনুলিপি হয় stackoverflow.com/questions/36660117/... এবং যে প্রশ্ন অনুলিপি কারণে বন্ধ করে দিয়েছে।
লাকমল ভিথানেজ

উত্তর:


138

মংডব্ব v3.4

সুরক্ষিত ডাটাবেস তৈরি করতে আপনাকে নিম্নলিখিতগুলি করতে হবে:

প্রক্রিয়াটি শুরু করা ব্যবহারকারীর অনুমতি রয়েছে এবং ডিরেক্টরিগুলি বিদ্যমান ( /data/dbএই ক্ষেত্রে) তা নিশ্চিত করুন।

1) অ্যাক্সেস নিয়ন্ত্রণ ছাড়াই মঙ্গোডিবি শুরু করুন।

mongod --port 27017 --dbpath /data/db

2) উদাহরণ সাথে সংযোগ করুন।

mongo --port 27017

3) ব্যবহারকারীর প্রশাসক তৈরি করুন (অ্যাডমিন প্রমাণীকরণের ডাটাবেসে)

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

4) অ্যাক্সেস নিয়ন্ত্রণের সাথে মংগোডিবি পুনরায় শুরু করুন।

mongod --auth --port 27017 --dbpath /data/db

5) সংযোগ এবং ব্যবহারকারী প্রশাসক হিসাবে প্রমাণীকরণ।

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

6) অতিরিক্ত ব্যবহারকারী হিসাবে আপনার স্থাপনার জন্য প্রয়োজনীয় তৈরি করুন (যেমন পরীক্ষা প্রমাণীকরণ ডাটাবেসের মধ্যে)

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

7) সংযোগ এবং মাই টেস্টার হিসাবে প্রমাণীকরণ।

mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

আমি মূলত এখানে সরকারী দস্তাবেজের সংক্ষিপ্ত সংস্করণটি এখানে ব্যাখ্যা করেছি: https://docs.mongodb.com/master/tutorial/enable-authentication/


4
আপনি যেমন বলেছিলেন আমি তেমনই করি তবে কেবল একটি সমস্যা হ'ল এই --auth কে প্রতিবার বা এক সময়ের জন্য পাস করতে হবে। যদি প্রতিবার হয় তবে সার্ভিসের সাথে কীভাবে দিতে হবে কারণ একটি সার্ভারে আমি এই সুডো পরিষেবাটি মঙ্গোডিবি শুরু করতে চাই?
Suresh পরী

6
@ সুরেশপারিখ আপনি যদি এটিকে প্রতিবারই পাস করতে না চান তবে আপনি এটি মংডোব.কনফ ফাইলটিতে কনফিগার করতে পারেন, এখানে আরও তথ্য: ডকস.মংডোব
ম্যানুয়াল

4
@ সুরেশপরিখ কোন সমস্যা নেই মানুষ! আপনি যদি এ সম্পর্কে আরও জানতে চান তবে এখানে চেক করুন: stackoverflow.com/a/42929869/1137669 আমি আরও কিছুটা বিশদে ব্যাখ্যা করছি।
বাসিকার্ল

আমি প্রথম পদক্ষেপে ব্যর্থ .আমি সংস্করণ v3.6.5 ছিল। একই সতর্কতা এবং এটি বন্ধ
wyx

8
গুরুতরভাবে বলছি ... কেন আপনি সক্রিয় করতে বলছেন security.authorizationনা mongod.conf??????
জন

-6

আপনাকে আপনার পুরানো ডিবি ফোল্ডারটি মুছতে হবে এবং একটি নতুন তৈরি করতে হবে। এটি আপনার সমস্যার সমাধান করবে।

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