MongoDB4.2-ро дар CentOS7 насб кунед

Маълумотнома

Сомонаи расмӣ Дастури маҳсулот NoSQL

Иловаи файли РЕПО

Барои таҳрири файли /etc/yum.repos.d/mongodb-enterprise.repo vi ё vim -ро истифода баред, мундариҷаи зеринро ба файл нусхабардорӣ кунед, пас захира кунед ва хориҷ шавед. Дар мисол, версияи 4.2 насб карда шудааст, версияи охирини он 4.4 мебошад. Агар ба шумо версияи охиринро насб кардан лозим ояд, лутфан дар мисол 4.2 ба 4.4 тағир диҳед.

            [mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/4.2/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
        

Амалиёти насбкуниро иҷро кунед ва хидматро оғоз кунед

            yum install -y mongodb-enterprise
systemctl enable mongod
systemctl start mongod
        

Ҳисоби администратор созед

Mongodb бо нобаёнӣ ба таври пинҳонӣ пайваст карда шудааст.Агар ба мо лозим ояд, ки аутентификатсияи воридшударо имкон диҳем, мо бояд аввал ҳисоби вуруд созем ва онро дар ҳолати пайвастшавии беном иҷозат диҳем. Агар шумо бевосита тафтиши воридшударо бидуни эҷоди ҳисоб фаъол созед, пас мо ба хидмати mongodb пайваст шуда наметавонем. Дар мисоли зерин, мо бо ҳисоби my_account ва гузарвожаи my_password ҳисоб сохта, онро ҳамчун маъмури пойгоҳи дода иҷозат медиҳем.

            use admin;
db.createUser({user:"my_account",pwd:"my_password",roles:[{role:"userAdminAnyDatabase",db:"admin"},"readWriteAnyDatabase"]});
exit
        

Файли танзимотро тағир диҳед ва тафтиши воридшударо фаъол созед

Vi ё vim -ро барои таҳрири /etc/mongod.conf истифода баред, IP ва бандари пайвастшударо тағир диҳед ва пас аутентификатсияи воридшударо фаъол созед. Барои тафсилот, лутфан ба мисоли зерин муроҷиат кунед.

            net:
  port: 27017
  bindIp: 0.0.0.0  
security:
  authorization: enabled
        

Хидматро аз нав оғоз кунед ва тасдиқ кунед, ки тағирот эътибор пайдо мекунад

Пас аз бозоғоз кардани хидмат, мо ба mongodb пайваст мешавем.Дар хотир доред, ки пайвастшавӣ дар айни замон бомуваффақият ба роҳ монда мешавад.Вақте ки фармонро иҷро менамоем, мо иҷозатро талаб мекунем. Он гоҳ ин маънои онро дорад, ки мо иҷозати вурудро бомуваффақият фаъол кардем ва баъд, ҳисоберо, ки мо танҳо барои иҷозат таъсис додем, истифода мебарем ва пас аз муваффақ шудан ба иҷозатнома мо метавонем ҳама гуна амалиёти пойгоҳи додаҳоро иҷро кунем. Барои фармонҳои истифодашуда ба мисоли зер муроҷиат кунед.

            systemctl restart mongod
mongo
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
use admin;
db.auth('my_account','my_password');
        

Маълумоти худро эҷод кунед

mongodb ба иҷрои фармони сохтани пойгоҳи додаҳо ниёз надорад, он метавонад мустақиман бо истифодаи номи махзани мавҷудбуда сохта шавад. Мо одатан истифодаи ҳисоби администраторро барои пайваст шудан ба пойгоҳи додаҳо тавсия намедиҳем, аз ин рӯ, мо бояд ҳисоберо, ки ба пойгоҳи додаҳои нав тааллуқ дорад, дубора эҷод кунем. Дар мисоли зерин мо пойгоҳи додаеро бо номи my_db эҷод мекунем ва барои он ҳисобе месозем.

            use my_db;
db.createUser({user:"my_db_admin",pwd:"my_db_password",roles:[{role:"dbAdmin",db:"my_db"},"readWrite"]});
        

Нусха ва барқароркунии пойгоҳи додаҳо

Файли нусхаи махзани mongodb файлҳои сершумори дар директория ҳифзшуда мебошанд ва натиҷаи нусхабардории пойгоҳи додаҳои релятсионӣ, ки мо одатан онро истифода мебарем, файли мустақил мебошад. Аз ин рӯ, пас аз ба итмом расонидани нусхабардорӣ, ба мо одатан лозим аст, ки онро бо воситаи фишурда ба файли алоҳида фишурда, сипас онро нусхабардорӣ ва интиқол диҳем. Дар зер намунаи нусхабардорӣ ва барқароркунии пойгоҳи додаҳо оварда шудааст.

            mongodump -u my_db_account -p my_db_password -d my_db -o /home
mongorestore -d my_db -u my_db_account -p my_db_password --drop /home/my_db/