ݺߣ

ݺߣShare a Scribd company logo
Touchconfig.conf içi boş bir dosya yarat
Sudo vim config.conf düzenle
CONFİG.CONF
 Dbpath = /data/db
 Bind_id = 127.0.0.1 -> istekleri hangi ip den
 Port : 27017 hangi port tan
 Config Dosyalarına şurdanhttp://docs.mongodb.org/manual/reference/configurationoptions/
 Smallfiles =>true yarattığı dosyalar 64 mb den daha küçük olacaktır.

Replication
http://docs.mongodb.org/manual/replication/
1.

Her bir sunucu 2 sn bir bir birlerine pingatarlar , 10sn den fazla atılmazsa sunucu iptal
durumdadır. Secondarylerprimary ölmüştür der. Ping atarken memorydurumu , makinanın
durumu kendi primaryolabilirmi . Primary giderse aralarında karar verirler , hepsinin bir oy hakkı
vardır. Sunucularda çekimse oy yoktur. Ölen primary hayatınasecondary olarak devam eder.

2.

Çoğunluk secondary giderse , ?

 3 tane datadir oluşturuldu. /data/db/rs0/rs0-1 ( 2 / 3 )
 Replica Set oluşturmak için ve başlatmak
içinhttp://docs.mongodb.org/manual/administration/replica-sets/
Linux :./mongod --replSet rs0 ( ad ) --dbpath /data/db/rs0/rs0-1 --port 27000 ( 27001,2002)
Windows :mongod --replSet rs0 --dbpath C: datadbrs0rs0-1 --port 27000
Burda –configvererek replSet vermeye gerek yok
 Oluşturduğumuz replica setlerine bağlanmak için mongo - -port 27000
 Primary Oluşturmak İçin ?Replica set oluşturup eklemek için
o mongo --port 27000 ( bir tanesi bağlandık , primary yapmak iiçin)
o conf = {_id:"rs0", members: [{_id:0, host:"127.0.0.1:27000"}]}
o rs.initiate(conf)
o rs.add(“”127.0.0.1:27001”)
o rs.status()
o rs.stepDown()  hemen secondary ye döndü
o Secondarylerde okuma yazma yapamıyoruz. db.setSlaveOk(true) dersek SECONDARY de
collectionslarıfelangörebiliriz. Önce hangi veritabanına bağlanacağız
Daha sonra bu komutu kullanalımki hata vermesin.
o

Her makinanın oy verme hakkını biz verebiliriz , fikir belirtmeme hakkı yok. Arbiterlarreplica
setlerinde oy kullanmak için eklenir, çift sayılı olması durumunda eklenir
özellikle.http://docs.mongodb.org/manual/tutorial/add-replica-set-arbiter/ . Arbiter çok
hafiftir , secondary veya primary aynı makinada olabilir.
o Aşağıdaki işlemi Primary veya secondary de yapıyoruz.
 Conf = rs.conf()
 Conf.members[2].priority =.5
 Conf.members[0].votes = 2
 Rs.reconfig(conf) -- Secondary den confige izin vermiyor
 Conf.members[0].arbiterOnly = true => herhangi bir primary veya secondaryi ( Son
versiyonda secondary veya primary ise değştiremiyrouz )
 rs.addArb(“127.0.0.1:27017”) = >arbitary eklemek için
 Arbitary başlatmak için ???
 Conf.members*2+.priority = 0 ( primary olmasını istemediğimiz makinaya 0
veriyoruz )
 Configuration Dosyam
o dbpath = c:datadb
o bind_ip = 127.0.0.1
o port = 27017
o replSet = rs0/127.0.0.1:27000 , 127.0.0.1:27001 , 127.0.0.1:27002
 Config ile başlatmak için
o Mongod –port 23000 --config C:dataconfig.conf

OPLOG
>mongod -replSet rs0 --dbpath C:datadbrs0rs0-1 --port 27000 -smallfiles-–diaglog –-oplog 1
Yapılan işlemler log için.
SHARDİNG







MongoDB verdiğimiz şartlara göre read ve writeları makinalara gönderiyor.
Config sunucusu bulunur , Mongosconfig sunucusundan bilgileri çekiyor.
ShardKey en önemlisi .
Her uygulamaya bir Mongos.
3 tane config sunucusu bulunur.
Shardların içerisinde REPLİCA SET lerden oluşuyor. Ama Shardlar bir birinden bağımsızdır.








cd C:datadbshard sonra sh0 , sh1 oluşturuldu
mongod –-configsvr –-dbpath C:datadbshardconfigdb --port 27000
mongos –-configdb 127.0.0.1:27000 ( mongosa senin config sunucun bu diyorum )
sonra bağlanıyorum >mongo diyorum ( eğer port default 27017 olmasaydı veririz )
bağlanınamongos> denemesi lazım
artık shardlamayabaşlayalım :
o sh.addShard(“127.0.0.1:27010”) eğer replica set ekleyeceksek ;
 sh.addShard(“rs0/127.0.0.1:27001,127.0.0.1:27002,127.0.0.1:27003”)
 db.adminCommand({addShard:”rs0/127.0.0.1:27001,127.0.0.1:27002,127.0.0
.1:27003”})
o tekrar bağlandım mongo diyerek
o sh.status()
o sh.ebableSharding(“deneme”)  hangi veritabanını yaptığıma bakıyorum.
o Sh.shardCollection(“deneme.User”,{“admin”:1,”username”:1})
 Önce index le diye hata verir.
 db.User.ensureIndex({"admin":1,"username":1})
 configserveremongo –port 27000 ile bağlanıyorum
useconfig diyerek bağlandım.
Db.settings.find()
db.settings.save({'_id':'chunksize','value':1})
db.setttings.update({'_id':'balancer'},{$set:{activeWindow:{start:"15:0
0",stop:"15.05"}}},true)

SECURİTY

 db.getSiblingDB("admin")
 db.addUser({user:"ertugrul",pwd:"ertugrul",roles:["userAdminAnyDatabase"]})
 opensslrand –base64 741
 config Dosyası>mongod –config [config_path]
o dbpath = c:datadb
o bind_ip = 127.0.0.1 , 10.0.0.1 , 192.168.3.10
o port = 27017
o auth = true # eğer localhosten girenin admin olmasını istemiyorsak
o enableLocalhostAuthBypass = false # default u true dur
o #keyFile = /mongo/bin/key
o #fork = true
o logpath = /mongo/bin/mongod.log
o logappend = true
o journal = true
o slowms = 50
o profile = 2
o verbose = true
o vvvvv = true
o dialog = 0 , 1 ,2 , 3 , 7

BACKUP
 Backup almak için
o mongodump --dbpath C:datadb --out C:databackup
o mongodump –host 127.0.0.1 –port 27017
o indexleribackup olarak almaz eğer sadece collectionbackup alacaksak. Ama bir
database in alacaksak alır.
o mongorestore
 db.copyDatabase(“deneme”,”deneme2”,”127.0.0.1”)
 db.cloneDatabase(“127.0.0.1:27017”)

More Related Content

What's hot (20)

Temel Linux Kullanımı ve Komutları
Temel Linux Kullanımı ve KomutlarıTemel Linux Kullanımı ve Komutları
Temel Linux Kullanımı ve Komutları
Ahmet Gürel
Linux Komut Satırı
Linux Komut Satırı Linux Komut Satırı
Linux Komut Satırı
Kemal Demirez
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
Oğuzhan TAŞ Akademi
MySQL Password Recovery
MySQL Password RecoveryMySQL Password Recovery
MySQL Password Recovery
Hızlan ERPAK
Linux Kullanım Rehberi
Linux Kullanım RehberiLinux Kullanım Rehberi
Linux Kullanım Rehberi
Mert Can ALICI
PostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmekPostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmek
Gulcin Yildirim Jelinek
̇Գܳ-101
̇Գܳ-101̇Գܳ-101
̇Գܳ-101
Begüm Erol
PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?
Gulcin Yildirim Jelinek
Linux sunum
Linux sunumLinux sunum
Linux sunum
Oğuzhan TAŞ Akademi
Centralized Supervisor Interface
Centralized Supervisor InterfaceCentralized Supervisor Interface
Centralized Supervisor Interface
gulsah_kose
PostgreSQL Hem Güçlü Hem Güzel!
PostgreSQL Hem Güçlü Hem Güzel!PostgreSQL Hem Güçlü Hem Güzel!
PostgreSQL Hem Güçlü Hem Güzel!
Gulcin Yildirim Jelinek
setup with windows on virtual box!
setup with windows on virtual box!setup with windows on virtual box!
setup with windows on virtual box!
e k
Dspace 5.5 Kurulum
Dspace 5.5 KurulumDspace 5.5 Kurulum
Dspace 5.5 Kurulum
Mesut Güngör
Temel linux
Temel linuxTemel linux
Temel linux
emreberber07
Devfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuDevfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 Sunumu
Aybüke Özdemir
Kali linux nmon analyzer kurulumu
Kali linux nmon analyzer kurulumuKali linux nmon analyzer kurulumu
Kali linux nmon analyzer kurulumu
Tarık Yıldız

Viewers also liked (16)

Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Roman Popov
контекстная реклама Google.adwords
контекстная реклама Google.adwordsконтекстная реклама Google.adwords
контекстная реклама Google.adwords
Roman Popov
Presentation4
Presentation4Presentation4
Presentation4
Hotcandy123
Bargate Hub
Bargate HubBargate Hub
Bargate Hub
Kerri611
Maksood-1
Maksood-1Maksood-1
Maksood-1
Maksood Ali K
Компьютерные столы
Компьютерные столыКомпьютерные столы
Компьютерные столы
prosto_valunya
Africa week video
Africa week videoAfrica week video
Africa week video
Leslie Ponder
168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah
Aaz M Hafidz Azis
Presentation4
Presentation4Presentation4
Presentation4
Hotcandy123
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Roman Popov
Sun solaris administration
Sun solaris administrationSun solaris administration
Sun solaris administration
lakshmisuj
Sbmptn2016 tpa999 57d2543b
Sbmptn2016 tpa999 57d2543bSbmptn2016 tpa999 57d2543b
Sbmptn2016 tpa999 57d2543b
Aaz M Hafidz Azis
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Roman Popov
контекстная реклама Google.adwords
контекстная реклама Google.adwordsконтекстная реклама Google.adwords
контекстная реклама Google.adwords
Roman Popov
Компьютерные столы
Компьютерные столыКомпьютерные столы
Компьютерные столы
prosto_valunya
168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah
Aaz M Hafidz Azis
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Roman Popov
Sun solaris administration
Sun solaris administrationSun solaris administration
Sun solaris administration
lakshmisuj

Similar to Mongo db notları (9)

SNİFFİNG VE SERVİS DIŞI BIRAKMA SALDIRILARI
SNİFFİNG VE SERVİS DIŞI BIRAKMA SALDIRILARISNİFFİNG VE SERVİS DIŞI BIRAKMA SALDIRILARI
SNİFFİNG VE SERVİS DIŞI BIRAKMA SALDIRILARI
MehmetEminDOAN1
Puppet ile Linux Sistem Yönetimi Otomasyonu
Puppet ile Linux Sistem Yönetimi OtomasyonuPuppet ile Linux Sistem Yönetimi Otomasyonu
Puppet ile Linux Sistem Yönetimi Otomasyonu
BilgiO A.S / Linux Akademi
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim NotlarımWeb Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Nur Yesilyurt
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server Kurulum
Anar Godjaev
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
Oguzhan Coskun
Sqlmap Analiz
Sqlmap AnalizSqlmap Analiz
Sqlmap Analiz
B3mB4m Turk

Mongo db notları

  • 1. Touchconfig.conf içi boş bir dosya yarat Sudo vim config.conf düzenle CONFİG.CONF  Dbpath = /data/db  Bind_id = 127.0.0.1 -> istekleri hangi ip den  Port : 27017 hangi port tan  Config Dosyalarına şurdanhttp://docs.mongodb.org/manual/reference/configurationoptions/  Smallfiles =>true yarattığı dosyalar 64 mb den daha küçük olacaktır. Replication http://docs.mongodb.org/manual/replication/ 1. Her bir sunucu 2 sn bir bir birlerine pingatarlar , 10sn den fazla atılmazsa sunucu iptal durumdadır. Secondarylerprimary ölmüştür der. Ping atarken memorydurumu , makinanın durumu kendi primaryolabilirmi . Primary giderse aralarında karar verirler , hepsinin bir oy hakkı vardır. Sunucularda çekimse oy yoktur. Ölen primary hayatınasecondary olarak devam eder. 2. Çoğunluk secondary giderse , ?  3 tane datadir oluşturuldu. /data/db/rs0/rs0-1 ( 2 / 3 )  Replica Set oluşturmak için ve başlatmak içinhttp://docs.mongodb.org/manual/administration/replica-sets/ Linux :./mongod --replSet rs0 ( ad ) --dbpath /data/db/rs0/rs0-1 --port 27000 ( 27001,2002) Windows :mongod --replSet rs0 --dbpath C: datadbrs0rs0-1 --port 27000 Burda –configvererek replSet vermeye gerek yok  Oluşturduğumuz replica setlerine bağlanmak için mongo - -port 27000  Primary Oluşturmak İçin ?Replica set oluşturup eklemek için o mongo --port 27000 ( bir tanesi bağlandık , primary yapmak iiçin) o conf = {_id:"rs0", members: [{_id:0, host:"127.0.0.1:27000"}]} o rs.initiate(conf) o rs.add(“”127.0.0.1:27001”) o rs.status() o rs.stepDown()  hemen secondary ye döndü o Secondarylerde okuma yazma yapamıyoruz. db.setSlaveOk(true) dersek SECONDARY de collectionslarıfelangörebiliriz. Önce hangi veritabanına bağlanacağız Daha sonra bu komutu kullanalımki hata vermesin.
  • 2. o Her makinanın oy verme hakkını biz verebiliriz , fikir belirtmeme hakkı yok. Arbiterlarreplica setlerinde oy kullanmak için eklenir, çift sayılı olması durumunda eklenir özellikle.http://docs.mongodb.org/manual/tutorial/add-replica-set-arbiter/ . Arbiter çok hafiftir , secondary veya primary aynı makinada olabilir. o Aşağıdaki işlemi Primary veya secondary de yapıyoruz.  Conf = rs.conf()  Conf.members[2].priority =.5  Conf.members[0].votes = 2  Rs.reconfig(conf) -- Secondary den confige izin vermiyor  Conf.members[0].arbiterOnly = true => herhangi bir primary veya secondaryi ( Son versiyonda secondary veya primary ise değştiremiyrouz )  rs.addArb(“127.0.0.1:27017”) = >arbitary eklemek için  Arbitary başlatmak için ???  Conf.members*2+.priority = 0 ( primary olmasını istemediğimiz makinaya 0 veriyoruz )  Configuration Dosyam o dbpath = c:datadb o bind_ip = 127.0.0.1 o port = 27017 o replSet = rs0/127.0.0.1:27000 , 127.0.0.1:27001 , 127.0.0.1:27002  Config ile başlatmak için o Mongod –port 23000 --config C:dataconfig.conf OPLOG >mongod -replSet rs0 --dbpath C:datadbrs0rs0-1 --port 27000 -smallfiles-–diaglog –-oplog 1 Yapılan işlemler log için.
  • 3. SHARDİNG       MongoDB verdiğimiz şartlara göre read ve writeları makinalara gönderiyor. Config sunucusu bulunur , Mongosconfig sunucusundan bilgileri çekiyor. ShardKey en önemlisi . Her uygulamaya bir Mongos. 3 tane config sunucusu bulunur. Shardların içerisinde REPLİCA SET lerden oluşuyor. Ama Shardlar bir birinden bağımsızdır.       cd C:datadbshard sonra sh0 , sh1 oluşturuldu mongod –-configsvr –-dbpath C:datadbshardconfigdb --port 27000 mongos –-configdb 127.0.0.1:27000 ( mongosa senin config sunucun bu diyorum ) sonra bağlanıyorum >mongo diyorum ( eğer port default 27017 olmasaydı veririz ) bağlanınamongos> denemesi lazım artık shardlamayabaşlayalım : o sh.addShard(“127.0.0.1:27010”) eğer replica set ekleyeceksek ;  sh.addShard(“rs0/127.0.0.1:27001,127.0.0.1:27002,127.0.0.1:27003”)  db.adminCommand({addShard:”rs0/127.0.0.1:27001,127.0.0.1:27002,127.0.0 .1:27003”}) o tekrar bağlandım mongo diyerek o sh.status() o sh.ebableSharding(“deneme”)  hangi veritabanını yaptığıma bakıyorum. o Sh.shardCollection(“deneme.User”,{“admin”:1,”username”:1})  Önce index le diye hata verir.  db.User.ensureIndex({"admin":1,"username":1})  configserveremongo –port 27000 ile bağlanıyorum useconfig diyerek bağlandım. Db.settings.find() db.settings.save({'_id':'chunksize','value':1}) db.setttings.update({'_id':'balancer'},{$set:{activeWindow:{start:"15:0 0",stop:"15.05"}}},true) SECURİTY  db.getSiblingDB("admin")  db.addUser({user:"ertugrul",pwd:"ertugrul",roles:["userAdminAnyDatabase"]})
  • 4.  opensslrand –base64 741  config Dosyası>mongod –config [config_path] o dbpath = c:datadb o bind_ip = 127.0.0.1 , 10.0.0.1 , 192.168.3.10 o port = 27017 o auth = true # eğer localhosten girenin admin olmasını istemiyorsak o enableLocalhostAuthBypass = false # default u true dur o #keyFile = /mongo/bin/key o #fork = true o logpath = /mongo/bin/mongod.log o logappend = true o journal = true o slowms = 50 o profile = 2 o verbose = true o vvvvv = true o dialog = 0 , 1 ,2 , 3 , 7 BACKUP  Backup almak için o mongodump --dbpath C:datadb --out C:databackup o mongodump –host 127.0.0.1 –port 27017 o indexleribackup olarak almaz eğer sadece collectionbackup alacaksak. Ama bir database in alacaksak alır. o mongorestore  db.copyDatabase(“deneme”,”deneme2”,”127.0.0.1”)  db.cloneDatabase(“127.0.0.1:27017”)