S
Saman Yazdannik
Guest
آموزش نصب MongoDB 4.2.1 در CentOS 8
دیتابیس MongoDB یک دیتابیس ذحیره اطلاعات و اسناد است که اطلاعات شبیه JSON را ذخیره سازی می کند که عملکرد و ساختار آن نسبت به سایر دیتابیس ها متفاوت است. این دیتابیس به عنوان یک پایگاه داده NoSQL شناخته می شود به این معنا که از SQL پشتیبانی نمی کند و معمولا برای ذخیره و مدیریت دیتابیس های حجیم و بزرگ مثل اسناد متنی، ایمیل ها، XML و … کاربرد دارد. MongoDB به صورت منبع باز بوده و در سیستم عامل های محبوبی مثل Windows، Linux، FreeBSD و … در دسترس است به همین جهت در این مطلب از پرداز آی تی قصد داریم به آموزش کامل نصب و کانفیگ MongoDB روی CentOS 8 بپردازیم.
MongoDB یکی از معروفترین و پر استفاده ترین دیتابیسهای NoSQL است که به تازگی نسخهی جدید عرضه نموده که قابلیت پشتیبانی از CentOS 8 را داراست، همانطور که شاید در جریان باشید برای CentOS 8 فقط میتوانید از نسخههای 4 دیتابیس MongoDB استفاده نمایید و نسخههای قدیمیتر مانند نسخه 3 بر روی آن نصب نمیگردند! پس یا باید به فکر ارتقا CentOS خود به نسخهبالاتر باشید یا از MongoDB ورژن پایینتر استفاده نمایید.
در ادامه آموزش کامل نصب و کانفیگ MongoDB روی CentOS 8 همراه پرداز آی تی باشید تا این مطلب آموزشی را به پایان برسانیم.
خب برویم سراغ اصل مطلب و نصب MongoDB بر CentOS8، دراینجا فرض من این است که شما یا با دسترسی root به سرور خود متصل شدهای یا یک نام کاربری با دسترسی sudo ، در ادامه نیاز است که شما یک فایل در این دایرکتوری /etc/yum.repos.d/mongodb-org-4.2.repo
با محتویات زیر بسازید:[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
و سپس با استفاده از yum آن را نصب نمایید:
yum install -y mongodb-org
فرایند نصب چند ثانیه طول خواهد کشید. سپس چیزی مانند زیر مشاهده خواهید نمود:
[root@lab ~]# yum install -y mongodb-org
CentOS-8 - AppStream 2.0 kB/s | 4.3 kB 00:02
CentOS-8 - Base 1.7 kB/s | 3.9 kB 00:02
CentOS-8 - Extras 744 B/s | 1.5 kB 00:02
CentOS-8 - PowerTools 1.7 kB/s | 4.3 kB 00:02
Google Cloud SDK 205 B/s | 454 B 00:02
Google Compute Engine 199 B/s | 454 B 00:02
MongoDB Repository 2.0 kB/s | 4.5 kB 00:02
Dependencies resolved.
========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Installing:
mongodb-org x86_64 4.2.2-1.el8 mongodb-org-4.2 10 k
Installing dependencies:
mongodb-org-mongos x86_64 4.2.2-1.el8 mongodb-org-4.2 14 M
mongodb-org-server x86_64 4.2.2-1.el8 mongodb-org-4.2 25 M
mongodb-org-shell x86_64 4.2.2-1.el8 mongodb-org-4.2 17 M
mongodb-org-tools x86_64 4.2.2-1.el8 mongodb-org-4.2 47 M
Transaction Summary
========================================================================================================================================================================
Install 5 Packages
Total download size: 103 M
Installed size: 260 M
Downloading Packages:
(1/5): mongodb-org-4.2.2-1.el8.x86_64.rpm 9.1 kB/s | 10 kB 00:01
(2/5): mongodb-org-mongos-4.2.2-1.el8.x86_64.rpm 9.1 MB/s | 14 MB 00:01
(3/5): mongodb-org-shell-4.2.2-1.el8.x86_64.rpm 31 MB/s | 17 MB 00:00
(4/5): mongodb-org-server-4.2.2-1.el8.x86_64.rpm 14 MB/s | 25 MB 00:01
(5/5): mongodb-org-tools-4.2.2-1.el8.x86_64.rpm 59 MB/s | 47 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 44 MB/s | 103 MB 00:02
warning: /var/cache/dnf/mongodb-org-4.2-fddc3ec541fac48b/packages/mongodb-org-4.2.2-1.el8.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 058f8b6b: NOKEY
MongoDB Repository 1.5 kB/s | 1.7 kB 00:01
Importing GPG key 0x058F8B6B:
Userid : "MongoDB 4.2 Release Signing Key <packaging@mongodb.com>"
Fingerprint: E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
From : https://www.mongodb.org/static/pgp/server-4.2.asc
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : mongodb-org-tools-4.2.2-1.el8.x86_64 1/5
Installing : mongodb-org-shell-4.2.2-1.el8.x86_64 2/5
Running scriptlet: mongodb-org-server-4.2.2-1.el8.x86_64 3/5
Installing : mongodb-org-server-4.2.2-1.el8.x86_64 3/5
Running scriptlet: mongodb-org-server-4.2.2-1.el8.x86_64 3/5
Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /usr/lib/systemd/system/mongod.service.
Installing : mongodb-org-mongos-4.2.2-1.el8.x86_64 4/5
Installing : mongodb-org-4.2.2-1.el8.x86_64 5/5
Running scriptlet: mongodb-org-4.2.2-1.el8.x86_64 5/5
Verifying : mongodb-org-4.2.2-1.el8.x86_64 1/5
Verifying : mongodb-org-mongos-4.2.2-1.el8.x86_64 2/5
Verifying : mongodb-org-server-4.2.2-1.el8.x86_64 3/5
Verifying : mongodb-org-shell-4.2.2-1.el8.x86_64 4/5
Verifying : mongodb-org-tools-4.2.2-1.el8.x86_64 5/5
Installed:
mongodb-org-4.2.2-1.el8.x86_64 mongodb-org-mongos-4.2.2-1.el8.x86_64 mongodb-org-server-4.2.2-1.el8.x86_64 mongodb-org-shell-4.2.2-1.el8.x86_64
mongodb-org-tools-4.2.2-1.el8.x86_64
Complete!
[root@lab ~]#
حالا بیایید با دستور زیر بررسی نماییم که نصب ما به درستی صورت گرفته است یا خیر:
کد:
[root@lab ~]# mongo --version
MongoDB shell version v4.2.2
git version: a0bbbff6ada159e19298d37946ac8dc4b497eadf
OpenSSL version: OpenSSL 1.1.1 FIPS 11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
distmod: rhel80
distarch: x86_64
target_arch: x86_64
[root@lab ~]#
خب اگر متنی مانند بالا مشاهده نمودید نشانگر آن است که نصب شما به درستی صورت گرفته است و میتوانید از MongoDB خود استفاده نمایید.
آموزش ساخت کاربر ادمین MongoDB
برای ساخت کاربر با دسترسی های ادمین ابتدا باید در سرور دستور زیر را اجرا کنید تا شل MongoDB باز شود.
mongo
سپس دستور زیر را اجرا کنید.
>use admin
حال با دستور زیر اقدام به ایجاد یک کاربر می کنیم. در این دستور نام کاربر mongopardazit است و رمز آن نیز password که شما باید اطلاعات مورد نظر خود برای ادمین را جایگزین کنید.
کد:
> db.createUser(
{
user: "mongodpardazit",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
>show users
خروجی دستور باید به شکل زیر باشد با اطلاعاتی که شما برای کاربر ادمین خود وارد کرده اید.
کد:
{
"_id" : "pardazit.mongodadmin",
"userId" : UUID("f6e908db-e393-44a9-8c77-0fdb1c2baa0e"),
"user" : "mongodpardazit",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
یکی از مواردی که می تواند برای اکثر دیتابیس ها مشکل ایجاد کند اطلاعات و صفحات سنگین هستند زیرا چنین صفحاتی بر روی عملکرد کلی دیتابیس تاثیر مستقیمی می گذارند و در اکثر موارد باعث کندی در دیتابیس می شوند به همین منظور MongoDB پیشنهاد می کند که چنین صفحاتی را غیر فعال کنید تا نتیجه بهتری در عملکرد دیتابیس مشاهده کنید.
برای شروع ابتدا با دستور زیر اقدام به ساخت یک فایل می کنیم. به همین منظور دو دستور زیر را به ترتیب در سرور اجرا کنید.
کد:
mkdir /etc/tuned/virtual-guest-no-thp
vi /etc/tuned/virtual-guest-no-thp/tuned.conf
کد:
[main]
include=virtual-guest
[vm]
transparent_hugepages=never
کد:
tuned-adm profile virtual-guest-no-thp
آخرین ویرایش توسط مدیر: