{"id":1433,"date":"2022-10-04T11:12:50","date_gmt":"2022-10-04T11:12:50","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=1433"},"modified":"2022-10-04T11:19:47","modified_gmt":"2022-10-04T11:19:47","slug":"mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/","title":{"rendered":"MongoDB Veritaban\u0131 Nas\u0131l Yedeklenir ve Geri Y\u00fcklenir?"},"content":{"rendered":"<p>MongoDB, NoSQL sistemlerinin klasik \u00f6rneklerinden biri olarak kabul edilir. Belgeleri, MongoDB&#8217;deki temel veri birimi olan anahtar\/de\u011fer \u00e7iftlerinden olu\u015fur. Koleksiyonlar\u0131, ili\u015fkisel veritabanlar\u0131ndaki tablolara e\u015fde\u011fer belge gruplar\u0131 ve i\u015flevler i\u00e7erir. MongoDB, 2000&#8217;li y\u0131llar\u0131n ortalar\u0131nda ortaya \u00e7\u0131kan bir veritaban\u0131d\u0131r. Bu yaz\u0131da, verileri nas\u0131l yedekleyece\u011finizi ve ard\u0131ndan geri y\u00fcklemeyi \u00f6\u011frenece\u011fiz. K\u0131lavuz, Ubuntu 20.04.2 LTS i\u015fletim sistemine sahip bir bilgisayarda geli\u015ftirilmi\u015ftir.<\/p>\n<p><strong>MongoDB veri format\u0131<\/strong><br \/>\nVeri al\u0131\u015fveri\u015fi ve depolama i\u00e7in pop\u00fcler standartlardan biri JSON&#8217;dur (JavaScript Object Notation). JSON, karma\u015f\u0131k yap\u0131lara sahip verileri etkili bir \u015fekilde tan\u0131mlayabilir. Bu bak\u0131mdan MongoDB&#8217;de veri saklama \u015fekli, teknik olarak JSON kullan\u0131lmasa da JSON&#8217;a benzer. JSON yerine MongoDB, verileri MongoDB&#8217;de depolamak i\u00e7in BSON(ikili JSON) kullan\u0131r. BSON, verilerle \u00e7al\u0131\u015fmay\u0131 daha h\u0131zl\u0131 hale getirir. Daha h\u0131zl\u0131 arama ve i\u015fleme sa\u011flar. Bununla birlikte, JSON&#8217;un aksine BSON&#8217;un k\u00fc\u00e7\u00fck bir dezavantaj\u0131 oldu\u011fu belirtilmelidir. Genel olarak, JSON verileri BSON&#8217;dakinden daha az yer kaplar; \u00f6te yandan, y\u00fcksek h\u0131z bu dezavantaj\u0131 tamamen telafi edecektir.<\/p>\n<p>\u00d6yleyse MongoDB&#8217;mize ba\u011flanal\u0131m ve yedeklemeler i\u00e7in \u00fc\u00e7 veritaban\u0131 olu\u015ftural\u0131m. Bunlar DB1, DB2 ve DB3 olacakt\u0131r. Bu veritabanlar\u0131n\u0131 doldurmak i\u00e7in baz\u0131 koleksiyonlar ekleyelim.<\/p>\n<p>DB1&#8217;i kullan<br \/>\ndb.createCollection(&#8220;posts1&#8221;)<br \/>\ndb.createCollection(&#8220;adres1&#8221;)<br \/>\ndb.createCollection(&#8220;telefon1&#8221;)<\/p>\n<p>DB2 kullan<br \/>\ndb.createCollection(&#8220;posts2&#8221;)<br \/>\ndb.createCollection(&#8220;adres2&#8221;)<br \/>\ndb.createCollection(&#8220;telefon2&#8221;)<\/p>\n<p>DB3 kullan<br \/>\ndb.createCollection(&#8220;posts3&#8221;)<br \/>\ndb.createCollection(&#8220;adres3&#8221;)<br \/>\ndb.createCollection(&#8220;telefon3&#8221;)<\/p>\n<p>Veritabanlar\u0131m\u0131z\u0131 olu\u015fturduk.\u00a0\u015eimdi her \u015feyin yolunda olup olmad\u0131\u011f\u0131n\u0131 kontrol edelim:<\/p>\n<pre>use admin\r\nshow dbs\r\n\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, veritabanlar\u0131m\u0131z tamam.\u00a0\u015eimdi daha \u00f6nce olu\u015fturdu\u011fumuz koleksiyonlara sahip olup olmad\u0131klar\u0131n\u0131 kontrol edelim.<\/p>\n<pre>use DB1\r\nshow collections\r\n\r\nuse DB2\r\nshow collections\r\n\r\nuse DB3\r\nshow collections\r\n\r\n<\/pre>\n<p>B\u00fct\u00fcn koleksiyonlar orada.\u00a0\u015eimdi ilk yedekleme se\u00e7ene\u011fine ge\u00e7ebiliriz.<\/p>\n<p>Yedek kopya olu\u015fturmak i\u00e7in root olarak oturum a\u00e7\u0131n.\u00a0\u015eimdi yedeklemeyi depolamak i\u00e7in bir dizin olu\u015fturun:<\/p>\n<pre>$ mkdir \/tmp\/backup_v1<\/pre>\n<p>\u015eimdi bir yedekleme olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre>$ mongodump --host=localhost --gzip --db DB1 --archive=\/tmp\/backup_v1\/backup-db-1.gz<\/pre>\n<p>\u015eimdi bir yedek olu\u015fturduktan sonra veritaban\u0131 dizinine ge\u00e7elim ve a\u015fa\u011f\u0131daki komutu kullanarak neler oldu\u011funu g\u00f6relim:<\/p>\n<pre>$ ls -la \/tmp\/backup_v1<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, Yedek Kopyam\u0131z yeni olu\u015fturuldu.<\/p>\n<p>\u015eimdi, bu t\u00fcr bir yedeklemeden verileri geri y\u00fckleyin, a\u015fa\u011f\u0131daki komutu kullan\u0131yoruz:<\/p>\n<pre>$ mongorestore --gzip --archive=\/tmp\/backup_v1\/backup-db-1.gz<\/pre>\n<p>Bu \u00f6rnekte, daha sonra ar\u015fivlenen bir yedek kopya olu\u015fturmak i\u00e7in yaln\u0131zca bir komut kullan\u0131yoruz.\u00a0Yedek kopyan\u0131n nas\u0131l olu\u015fturulaca\u011f\u0131na ili\u015fkin birka\u00e7 se\u00e7enek vard\u0131r.\u00a0Bu yaz\u0131da bunlar\u0131 tek tek ele alaca\u011f\u0131z.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Makale \u0130\u00e7eri\u011fi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/#Veri_sikistirmasi_olmadan_tum_veritabanlarini_yedekleyin\" >Veri s\u0131k\u0131\u015ft\u0131rmas\u0131 olmadan t\u00fcm veritabanlar\u0131n\u0131 yedekleyin.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/#Tum_veritabanlarini_sikistirma_ile_yedekleyin\" >T\u00fcm veritabanlar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rma ile yedekleyin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/#Tum_veritabanlarini_sikistirma_ile_tek_bir_arsive_gz_yedekleyin\" >T\u00fcm veritabanlar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rma ile tek bir ar\u015five (.gz) yedekleyin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/#Belirli_bir_veritabanini_yedekleyin\" >Belirli bir veritaban\u0131n\u0131 yedekleyin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/#DB2den_tek_bir_address2_koleksiyonunu_yedekleyin\" >DB2&#8217;den tek bir address2 koleksiyonunu yedekleyin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/mongodb-veritabani-nasil-yedeklenir-ve-geri-yuklenir\/#Tek_bir_gonderi2_koleksiyonu_disinda_tum_DB2yi_yedekleyin\" >Tek bir g\u00f6nderi2 koleksiyonu d\u0131\u015f\u0131nda t\u00fcm DB2&#8217;yi yedekleyin<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Veri_sikistirmasi_olmadan_tum_veritabanlarini_yedekleyin\"><\/span>Veri s\u0131k\u0131\u015ft\u0131rmas\u0131 olmadan t\u00fcm veritabanlar\u0131n\u0131 yedekleyin.<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yedeklemeyi depolamak i\u00e7in bir dizin olu\u015ftural\u0131m:<\/p>\n<pre>$ mkdir \/tmp\/backup_v2<\/pre>\n<p>Yedeklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre>$ mongodump --out \/tmp\/backup_v2<\/pre>\n<p>Ba\u015far\u0131l\u0131 bir yedeklemeden sonra veritaban\u0131 dizinine ge\u00e7elim ve nelere sahip oldu\u011funu g\u00f6relim.\u00a0S\u0131k\u0131\u015ft\u0131rma olmadan BSON ve JSON koleksiyonlar\u0131na sahiptir.<\/p>\n<pre>$ ls -la \/tmp\/backup_v2\/db1<\/pre>\n<p>\u015eimdi a\u015fa\u011f\u0131daki komutu kullanarak verileri bu yedekten geri y\u00fckleyin:<\/p>\n<pre>$ mongorestore --drop --dir \/tmp\/backup_v2<\/pre>\n<p>Burada,\u00a0yinelenen anahtar hatalar\u0131n\u0131 \u00f6nlemek i\u00e7in i\u00e7e aktarmadan \u00f6nce (varsa) bir koleksiyonu b\u0131rakmak i\u00e7in\u00a0<i>\u2013drop parametresi kullan\u0131l\u0131r.\u00a0<\/i>Bu\u00a0<i>\u2013drop<\/i>\u00a0parametresi dikkatli kullan\u0131lmal\u0131d\u0131r.<\/p>\n<div id=\"GFG_AD_Desktop_MTF_Postcontent_728x90\"><\/div>\n<p>\u015eimdi t\u00fcm veritabanlar\u0131n\u0131n bir yede\u011finden belirli bir koleksiyonu (\u00f6rne\u011fin, DB1&#8217;den g\u00f6nderiler1) geri y\u00fckleyin:<\/p>\n<pre>$ mongorestore --drop --dir \/tmp\/backup_v2 --ns'DB1.posts1'i dahil et<\/pre>\n<p>Belirli bir koleksiyon (\u00f6rne\u011fin, DB1&#8217;den g\u00f6nderiler1) d\u0131\u015f\u0131ndaki t\u00fcm veritabanlar\u0131n\u0131 ve t\u00fcm koleksiyonlar\u0131 geri y\u00fckleyin:<\/p>\n<pre>$ mongorestore --drop --dir \/tmp\/backup_v2 --ns'DB1.posts1'i hari\u00e7 tut<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Tum_veritabanlarini_sikistirma_ile_yedekleyin\"><\/span>T\u00fcm veritabanlar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rma ile yedekleyin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u015eimdi bir yedek olu\u015fturun ve yedekleme dosyas\u0131n\u0131 s\u0131k\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre>$ mkdir \/tmp\/backup_v3 \r\n$ mongodump --gzip --out \/tmp\/backup_v3\r\n\r\n<\/pre>\n<p>\u015eimdi yedekleme dosyas\u0131n\u0131 g\u00f6r\u00fcnt\u00fcleyin:<\/p>\n<pre>$ ls -la \/tmp\/backup_v3\/db1<\/pre>\n<p>Burada yedekleme dosyas\u0131 s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f dosyalar i\u00e7erir.<\/p>\n<p>&nbsp;<\/p>\n<p>\u015eimdi bu t\u00fcr bir yedeklemeden verileri geri y\u00fckleyin:<\/p>\n<pre>$ mongorestore --gzip --drop --dir \/tmp\/backup_v3<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Tum_veritabanlarini_sikistirma_ile_tek_bir_arsive_gz_yedekleyin\"><\/span>T\u00fcm veritabanlar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rma ile tek bir ar\u015five (.gz) yedekleyin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tek bir ar\u015fivde (.gz) s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f t\u00fcm veritabanlar\u0131n\u0131n bir yede\u011fini olu\u015fturun:<\/p>\n<pre>$ mkdir \/tmp\/backup_v4\/ \r\n$ mongodump --gzip --archive=\/tmp\/backup_v4\/my_backup.gz<\/pre>\n<p>\u015eimdi a\u015fa\u011f\u0131daki komutu kullanarak verileri yedekten geri y\u00fckleyin:<\/p>\n<pre>$ mongorestore --gzip --drop --archive=\/tmp\/backup_v4\/my_backup.gz<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Belirli_bir_veritabanini_yedekleyin\"><\/span>Belirli bir veritaban\u0131n\u0131 yedekleyin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Belirli bir veritaban\u0131n\u0131n yede\u011fini olu\u015fturun<\/p>\n<pre>$ mkdir \/tmp\/backup_v5 \r\n$ mongodump --gzip --out \/tmp\/backup_v5 --db DB2<\/pre>\n<p>Bu yedeklemeden verileri geri y\u00fckleyin:<\/p>\n<pre>$ mongorestore --gzip --drop --dir \/tmp\/backup_v5<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"DB2den_tek_bir_address2_koleksiyonunu_yedekleyin\"><\/span>DB2&#8217;den tek bir address2 koleksiyonunu yedekleyin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>DB2&#8217;den tek bir adres2 koleksiyonunun yede\u011fi olu\u015fturun<\/p>\n<pre>$ mkdir \/tmp\/backup_v6 \r\n$ mongodump --gzip --out \/tmp\/backup_v6 --db DB2 -c address2<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Tek_bir_gonderi2_koleksiyonu_disinda_tum_DB2yi_yedekleyin\"><\/span>Tek bir g\u00f6nderi2 koleksiyonu d\u0131\u015f\u0131nda t\u00fcm DB2&#8217;yi yedekleyin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tek bir g\u00f6nderi2 koleksiyonu d\u0131\u015f\u0131nda t\u00fcm DB2&#8217;nin yede\u011fini olu\u015fturun<\/p>\n<pre>$ mkdir \/tmp\/backup_v7\r\n$ mongodump --gzip --out \/tmp\/backup_v7 --db DB2 --excludeCollection g\u00f6nderileri2<\/pre>\n<p>Veya daha \u00f6nce payla\u015fm\u0131\u015f oldugumuz <a href=\"https:\/\/sunucucozumleri.com\/8-adimda-mongodump-ile-mongodb-yedeklemek\/\">8 Ad\u0131mda Mongodump ile Mongodb Yedeklemek<\/a> makalesine g\u00f6z atabilirsiniz.<br \/>\nYada <a href=\"https:\/\/sunucucozumleri.com\/mongodb-veritabani-koleksiyon-ve-belge\/\">MongoDB \u2013 Veritaban\u0131, Koleksiyon ve Belge<\/a> adl\u0131 makalemize g\u00f6z atabilirsiniz.<\/p>\n<pre><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>MongoDB, NoSQL sistemlerinin klasik \u00f6rneklerinden biri olarak kabul edilir. Belgeleri, MongoDB&#8217;deki temel veri birimi olan anahtar\/de\u011fer \u00e7iftlerinden olu\u015fur. Koleksiyonlar\u0131, ili\u015fkisel veritabanlar\u0131ndaki tablolara e\u015fde\u011fer belge gruplar\u0131 ve i\u015flevler i\u00e7erir. MongoDB, 2000&#8217;li y\u0131llar\u0131n ortalar\u0131nda ortaya \u00e7\u0131kan bir veritaban\u0131d\u0131r. Bu yaz\u0131da, verileri nas\u0131l yedekleyece\u011finizi ve ard\u0131ndan geri y\u00fcklemeyi \u00f6\u011frenece\u011fiz. K\u0131lavuz, Ubuntu 20.04.2 LTS i\u015fletim sistemine sahip bir bilgisayarda &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1432,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1433","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1433","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=1433"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1433\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/1432"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=1433"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=1433"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=1433"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}