Ինչպես տեղադրել MongoDB-ն Debian 12-ում
Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար
- Debian 12 (Գիրքորդ)
- Debian 11 (Bullseye)
Այս էջում
- Նախադրյալներ
- Debian սերվերի պատրաստում
- MongoDB սերվերի տեղադրում Debian-ում
- MongoDB սերվերի ապահովում նույնականացման միջոցով
- Փորձարկել MongoDB Նույնականացումը
- Առաջին տվյալների բազայի և օգտագործողի ստեղծում
- Եզրակացություն
MongoDB-ն բաց կոդով, միջպլատֆորմային և բաշխված NoSQL (ոչ SQL կամ ոչ հարաբերական) տվյալների բազայի համակարգ է: Ավանդական SQL տվյալների շտեմարանների նման աղյուսակներում տվյալները պահելու փոխարեն, MongoDB-ն օգտագործում է ճկուն փաստաթղթեր՝ տվյալների տարբեր ձևեր պահելու համար: MongoDB-ն օգտագործում է երկուական JSON ձևաչափը՝ BSON, տվյալների պահպանման համար:
MongoDB-ը բաշխված NoSQL տվյալների բազա է՝ ներկառուցված բարձր հասանելիությամբ, ավտոմատ խափանումներով և տվյալների ավելորդությամբ, ինչպես նաև հորիզոնական մասշտաբով բաշխված կլաստերների միջև փոխանակման միջոցով, և այն աջակցում է բազմատարածաշրջանային աշխարհագրական տեղակայմանը: MongoDB-ն նաև տրամադրում է հարցումների API, որն աջակցում է CRUD գործողություններին (կարդալ և գրել), տվյալների ագրեգացման խողովակաշար, տեքստի որոնում և աշխարհատարածական հարցումներ:
Այս ձեռնարկում դուք կսովորեք, թե ինչպես տեղադրել MongoDB-ն Debian 12 սերվերի վրա: Դուք նաև կսովորեք, թե ինչպես միացնել MongoDB նույնականացումը, օգտագործել «mongosh» MongoDB հաճախորդը և օգտագործել հիմնական հարցումները՝ MongoDB-ում նոր օգտվող և տվյալների բազա ստեղծելու համար:
Նախադրյալներ
Այս ձեռնարկից սկսելու համար համոզվեք, որ ունեք հետևյալը.
- Debian 12 սերվեր
- Ոչ արմատական օգտվող, ադմինիստրատորի արտոնություններով
Debian սերվերի պատրաստում
Նախքան MongoDB-ն տեղադրել ձեր Debian սերվերում, խորհուրդ է տրվում կիրառել հետևյալ կարգավորումները.
- Անջատել թափանցիկ հսկայական էջերը (THP) systemd script-ի միջոցով
- Բարձրացրեք MongoDB օգտագործողի լռելյայն սահմանաչափերը
- Միացրեք փոխանակումը և ավելացրեք max_mmap հիշողությունը '/etc/sysctl.conf' ֆայլի միջոցով
Այժմ եկեք կարգավորենք Debian սերվերը:
Նախ գործարկեք «nano» հրամանը ստորև՝ նոր սպասարկման ֆայլ ստեղծելու համար /etc/systemd/system/disable-thp.service:
sudo nano /etc/systemd/system/disable-thp.service
Տեղադրեք հետևյալ ծառայության սկրիպտը՝ «transparent_hugepage»-ը «երբեք»-ին կարգավորելու համար:
[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.target
Պահպանեք ֆայլը և դուրս եկեք:
Այժմ գործարկեք հետևյալ «systemctl» հրամանը՝ systemd կառավարիչը վերաբեռնելու համար: Այնուհետև սկսեք և միացրեք «disable-thp» ծառայությունը: Դրանով «transparent_hugepage»-ը կանջատվի համակարգի յուրաքանչյուր գործարկման ժամանակ:
sudo systemctl daemon-reload
sudo systemctl enable --now disable-thp.service
Հաջորդը, «nano» խմբագրիչով ստեղծեք նոր ֆայլ /etc/security/limits.d/mongodb.conf:
sudo nano /etc/security/limits.d/mongodb.conf
Տեղադրեք ստորև նշված կոնֆիգուրացիան՝ առավելագույն սահմանաչափերի գործընթացը կարգավորելու համար և ֆայլը «64000» «mongod» օգտվողի համար:
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000
Ավարտելուց հետո պահեք ֆայլը և դուրս եկեք:
Դրանից հետո «/etc/sysctl.conf» ֆայլը խմբագրեք հետևյալով.
sudo nano /etc/sysctl.conf
Ներքևի կոնֆիգուրացիան տեղադրեք տողի ներքևի մասում:
fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1
Պահպանեք ֆայլը և դուրս եկեք:
Ի վերջո, գործարկեք «sysctl» հրամանը ստորև՝ «/etc/sysctl.conf» ֆայլում փոփոխություններն անմիջապես կիրառելու համար:
sudo sysctl -p
MongoDB սերվերի տեղադրում Debian-ում
Այժմ, երբ դուք կարգավորել եք ձեր Debian սերվերը, եկեք սկսենք MongoDB-ի տեղադրումը: Այս դեպքում դուք MongoDB 7.0-ը կտեղադրեք պաշտոնական MongoDB պահոցի միջոցով ձեր Debian սերվերում:
Տեղադրեք «gnupg» և «curl» փաթեթները ձեր Debian համակարգում հետևյալով.
sudo apt install gnupg curl
Այժմ ավելացրեք MongoDB GPG ստեղնը և պահոցը Debian-ի համար ստորև նշված հրամանով: Այս դեպքում դուք կստեղծեք պահոց MongoDB 7.0-ի համար:
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
Հաջորդը, գործարկեք «apt» հրամանը ստորև՝ ձեր փաթեթների ցանկը թարմացնելու և «mongodb-org» փաթեթը տեղադրելու համար:
sudo apt update && sudo apt install mongodb-org -y
Հետևյալ ելքում դուք կարող եք տեսնել MongoDB տեղադրումը:
Տեղադրումն ավարտելուց հետո վերաբեռնեք systemd կառավարիչը «systemctl» հրամանով:
sudo systemctl daemon-reload
Սկսեք և միացրեք «մոնգոդ» ծառայությունը, այնուհետև ստուգեք այն՝ համոզվելու համար, որ ծառայությունն աշխատում է:
sudo systemctl enable --now mongod
sudo systemctl status mongod
Եթե MongoDB-ն աշխատում է, կտեսնեք հետևյալ արդյունքը.
MongoDB սերվերի ապահովում նույնականացման միջոցով
Տեղադրված MongoDB-ի դեպքում դուք պետք է ապահովեք ձեր տեղադրումը` միացնելով MongoDB նույնականացումը: Այս բաժնում դուք կկարգավորեք MongoDB նույնականացումը և կստեղծեք նոր ադմինիստրատոր օգտատեր MongoDB-ի համար: Սա ցույց կտա ձեզ, թե ինչպես օգտագործել «mongosh» կամ MongoDB հաճախորդը և հիմնական MongoDB հարցումները:
Մուտք գործեք MongoDB սերվեր՝ ստորև «mongosh» հրամանով: Կանխադրված MongoDB տեղադրման համար գաղտնաբառ չկա:
mongosh
Գործարկեք «disableTelemetry()» հրամանը՝ MongoDB-ից անանուն տվյալների հավաքագրումն անջատելու համար:
disableTelemetry()
Անցեք «admin» տվյալների բազայի «օգտագործել» հարցումով:
use admin
Այժմ կատարեք հետևյալ հարցումը՝ «myAdmin» նոր օգտվող ստեղծելու համար, որը կօգտագործվի որպես ձեր MongoDB սերվերի ադմինիստրատոր: Մուտքագրեք ձեր գաղտնաբառը, երբ հարցնում են:
db.createUser(
{
user: "myAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)
Մուտքագրեք 'quit()' հրամանը՝ MongoDB սերվերից դուրս գալու համար:
quit()
Հաջորդը, խմբագրեք '/etc/mongod.conf' ֆայլը 'nano' խմբագրիչով:
sudo nano /etc/mongod.conf
Անջատեք «անվտանգություն» տարբերակը և ավելացրեք «լիազորումը. միացված է»՝ MongoDB-ում նույնականացումը միացնելու համար:
security:
authorization: enabled
Պահպանեք ֆայլը և դուրս եկեք խմբագրիչից:
Այժմ գործարկեք «systemctl» հրամանը ստորև՝ MongoDB սերվերը վերագործարկելու և ձեր փոփոխությունները կիրառելու համար:
sudo systemctl restart mongod
Փորձարկել MongoDB Նույնականացումը
Այժմ, երբ դուք ստեղծել եք ադմինիստրատորի օգտատեր և միացրել եք նույնականացումը ձեր MongoDB սերվերում: Եկեք ստուգենք ձեր կոնֆիգուրացիան՝ մուտք գործելով MongoDB սերվեր 'myAdmin' օգտագործողի միջոցով:
Ներքևում գործարկեք «mongosh» հրամանը, որպեսզի մուտք գործեք MongoDB սերվեր որպես «myAdmin»-ի օգտվող և մուտքագրեք ձեր գաղտնաբառը, երբ ձեզ հուշեն:
mongosh --port 27017 --authenticationDatabase \
"admin" -u "myAdmin" -p
Մուտք գործելուց հետո կատարեք հետևյալ հարցումը՝ MongoDB սերվերի հետ կապի կարգավիճակը ստուգելու համար:
db.runCommand({connectionStatus : 1})
Ստորև կարող եք տեսնել, որ որպես «myAdmin» օգտվող միացել եք MongoDB սերվերին:
Առաջին տվյալների բազայի և օգտագործողի ստեղծում
Այս բաժնում դուք կստեղծեք նոր տվյալների բազա և օգտվող, որը կօգտագործվի ձեր հավելվածի համար «mongosh» MongoDB հաճախորդի միջոցով: Այսպիսով, համոզվեք, որ դուք գտնվում եք «մոնգոշ» միջավայրում:
Նախ գործարկեք «օգտագործել» հարցումը՝ թիրախային տվյալների բազան ստեղծելու և փոխելու համար: Այս օրինակում դուք կստեղծեք նոր տվյալների բազա «mydb»: Ձեր MongoDB հուշումը կփոխվի «mydb»-ի:
use mydb
Այժմ կատարեք հետևյալ հարցումը՝ նոր օգտվող 'myUser' ստեղծելու համար՝ «mydb» տվյալների բազայում կարդալու և գրելու արտոնություններով: Մուտքագրեք նոր գաղտնաբառ, երբ հարցնում եք:
use mydb
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(),
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)
Հաջորդը կատարեք հետևյալ հարցումները՝ «admin» տվյալների բազան փոխելու և ձեր MongoDB սերվերի օգտատերերի ցանկը ստուգելու համար:
use admin
db.system.users.find()
Դուք պետք է տեսնեք «myAdmin» և «myUser» օգտվողը, որոնք ստեղծված են հետևյալ կերպ.
Այժմ մուտքագրեք 'quit()' MongoDB սերվերից դուրս գալու համար:
Վերջապես, մուտք գործեք MongoDB սերվեր որպես նոր օգտվող «myUser» տվյալների բազայում «mydb» ստորև նշված հրամանով: Մուտքագրեք ձեր գաղտնաբառը, երբ ձեզ հուշեն:
mongosh --port 27017 -u "myUser" \
--authenticationDatabase "mydb" -p
Գործարկեք ստորև ներկայացված հարցումը՝ ձեր ընթացիկ կապը ստուգելու համար
db.runCommand({connectionStatus : 1})
«authInfo» բաժնում դուք կարող եք տեսնել, որ դուք նույնականացրել եք որպես «myUser» օգտվողի և «mydb» տվյալների բազա:
Եզրակացություն
Շնորհավորում եմ: Դուք ավարտել եք MongoDB 7.0-ի տեղադրումը Debian 12 սերվերի վրա: Դուք նաև սովորեցիք, թե ինչպես ապահովել MongoDB սերվերը՝ միացնելով նույնականացումը, այնուհետև MongoDB-ի համար նոր ադմինիստրատոր օգտատեր ստեղծելով: Վերջապես, դուք սովորել եք, թե ինչպես ստեղծել նոր MongoDB տվյալների բազա և օգտվող ձեր հավելվածների համար: