SlideShare a Scribd company logo
1 of 4
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ı
 
Linux Komut Satırı
Linux Komut Satırı Linux Komut Satırı
Linux Komut Satırı
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Puppet Sertifika Yönetimi
Puppet Sertifika YönetimiPuppet Sertifika Yönetimi
Puppet Sertifika Yönetimi
 
Linux komutlari
Linux komutlariLinux komutlari
Linux komutlari
 
final
finalfinal
final
 
MySQL Password Recovery
MySQL Password RecoveryMySQL Password Recovery
MySQL Password Recovery
 
Linux Kullanım Rehberi
Linux Kullanım RehberiLinux Kullanım Rehberi
Linux Kullanım Rehberi
 
PostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmekPostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmek
 
Li̇nux-101
Li̇nux-101Li̇nux-101
Li̇nux-101
 
PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?
 
Linux sunum
Linux sunumLinux sunum
Linux sunum
 
Centralized Supervisor Interface
Centralized Supervisor InterfaceCentralized Supervisor Interface
Centralized Supervisor Interface
 
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!
 
setup with windows on virtual box!
setup with windows on virtual box!setup with windows on virtual box!
setup with windows on virtual box!
 
Linux komulari
Linux komulariLinux komulari
Linux komulari
 
Dspace 5.5 Kurulum
Dspace 5.5 KurulumDspace 5.5 Kurulum
Dspace 5.5 Kurulum
 
Temel linux
Temel linuxTemel linux
Temel linux
 
Devfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuDevfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 Sunumu
 
Kali linux nmon analyzer kurulumu
Kali linux nmon analyzer kurulumuKali linux nmon analyzer kurulumu
Kali linux nmon analyzer kurulumu
 

Viewers also liked

Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...Roman Popov
 
контекстная реклама Google.adwords
контекстная реклама Google.adwordsконтекстная реклама Google.adwords
контекстная реклама Google.adwordsRoman Popov
 
Woolhouspp
WoolhousppWoolhouspp
WoolhousppKerri611
 
Bargate Hub
Bargate HubBargate Hub
Bargate HubKerri611
 
Woolhouspp
WoolhousppWoolhouspp
WoolhousppKerri611
 
Компьютерные столы
Компьютерные столыКомпьютерные столы
Компьютерные столыprosto_valunya
 
168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintahAaz M Hafidz Azis
 
Hand Drawings
Hand DrawingsHand Drawings
Hand DrawingsKerri611
 
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...Roman Popov
 
Sun solaris administration
Sun solaris administrationSun solaris administration
Sun solaris administrationlakshmisuj
 

Viewers also liked (16)

Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
Профессиональная настройка и ведение контекстной рекламы в Яндекс.Директ и Go...
 
контекстная реклама Google.adwords
контекстная реклама Google.adwordsконтекстная реклама Google.adwords
контекстная реклама Google.adwords
 
Presentation4
Presentation4Presentation4
Presentation4
 
Woolhouspp
WoolhousppWoolhouspp
Woolhouspp
 
Bargate Hub
Bargate HubBargate Hub
Bargate Hub
 
Maksood-1
Maksood-1Maksood-1
Maksood-1
 
Woolhouspp
WoolhousppWoolhouspp
Woolhouspp
 
Компьютерные столы
Компьютерные столыКомпьютерные столы
Компьютерные столы
 
Africa week video
Africa week videoAfrica week video
Africa week video
 
168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah168 pmk.05-2015-bantuan-pemerintah
168 pmk.05-2015-bantuan-pemerintah
 
Hand Drawings
Hand DrawingsHand Drawings
Hand Drawings
 
Presentation4
Presentation4Presentation4
Presentation4
 
Web service
Web serviceWeb service
Web service
 
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...Как настроить эффективную контекстную рекламу - основные принципы создания ре...
Как настроить эффективную контекстную рекламу - основные принципы создания ре...
 
Sun solaris administration
Sun solaris administrationSun solaris administration
Sun solaris administration
 
Sbmptn2016 tpa999 57d2543b
Sbmptn2016 tpa999 57d2543bSbmptn2016 tpa999 57d2543b
Sbmptn2016 tpa999 57d2543b
 

Similar to Mongo db notları

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 SALDIRILARIMehmetEminDOAN1
 
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ımNur Yesilyurt
 
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumAnar Godjaev
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ ProgramlamaOguzhan Coskun
 

Similar to Mongo db notları (9)

Holynix v1
Holynix v1Holynix v1
Holynix v1
 
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
 
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
 
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
 
Oracle 10g Database Server Kurulum
Oracle 10g Database Server KurulumOracle 10g Database Server Kurulum
Oracle 10g Database Server Kurulum
 
Windows Legacy Server Migration
Windows Legacy Server MigrationWindows Legacy Server Migration
Windows Legacy Server Migration
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
 
Sqlmap Analiz
Sqlmap AnalizSqlmap Analiz
Sqlmap Analiz
 
Windows server 2008
Windows server 2008 Windows server 2008
Windows server 2008
 

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”)