SlideShare a Scribd company logo
1 of 5
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/configuration-options/
 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:00",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

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 Kullanım Rehberi
Linux Kullanım RehberiLinux Kullanım Rehberi
Linux Kullanım RehberiMert Can ALICI
 
setup with ubuntu on virtualbox
setup with ubuntu on virtualboxsetup with ubuntu on virtualbox
setup with ubuntu on virtualboxe k
 
Puppet Sertifika Yönetimi
Puppet Sertifika YönetimiPuppet Sertifika Yönetimi
Puppet Sertifika YönetimiAybüke Özdemir
 
MySQL Password Recovery
MySQL Password RecoveryMySQL Password Recovery
MySQL Password RecoveryHızlan ERPAK
 
Centralized Supervisor Interface
Centralized Supervisor InterfaceCentralized Supervisor Interface
Centralized Supervisor Interfacegulsah_kose
 
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
 
Linux101 Temel Komutlar-Dizin Yapısı
Linux101 Temel Komutlar-Dizin YapısıLinux101 Temel Komutlar-Dizin Yapısı
Linux101 Temel Komutlar-Dizin YapısıSDU CYBERLAB
 
Devfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuDevfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuAybüke Özdemir
 

What's hot (20)

Linux komutlari
Linux komutlariLinux komutlari
Linux komutlari
 
Temel Linux Kullanımı ve Komutları
Temel Linux Kullanımı ve KomutlarıTemel Linux Kullanımı ve Komutları
Temel Linux Kullanımı ve Komutları
 
Ubuntu Linux
Ubuntu LinuxUbuntu Linux
Ubuntu Linux
 
Linux Kullanım Rehberi
Linux Kullanım RehberiLinux Kullanım Rehberi
Linux Kullanım Rehberi
 
setup with ubuntu on virtualbox
setup with ubuntu on virtualboxsetup with ubuntu on virtualbox
setup with ubuntu on virtualbox
 
Li̇nux-101
Li̇nux-101Li̇nux-101
Li̇nux-101
 
final
finalfinal
final
 
Puppet Sertifika Yönetimi
Puppet Sertifika YönetimiPuppet Sertifika Yönetimi
Puppet Sertifika Yönetimi
 
MySQL Password Recovery
MySQL Password RecoveryMySQL Password Recovery
MySQL Password Recovery
 
Linux sunum
Linux sunumLinux sunum
Linux sunum
 
Centralized Supervisor Interface
Centralized Supervisor InterfaceCentralized Supervisor Interface
Centralized Supervisor Interface
 
PostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmekPostgreSQL'i öğrenmek ve yönetmek
PostgreSQL'i öğrenmek ve yönetmek
 
setup with windows on virtual box!
setup with windows on virtual box!setup with windows on virtual box!
setup with windows on virtual box!
 
PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?
 
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!
 
Dspace 5.5 Kurulum
Dspace 5.5 KurulumDspace 5.5 Kurulum
Dspace 5.5 Kurulum
 
Linux komulari
Linux komulariLinux komulari
Linux komulari
 
Temel linux
Temel linuxTemel linux
Temel linux
 
Linux101 Temel Komutlar-Dizin Yapısı
Linux101 Temel Komutlar-Dizin YapısıLinux101 Temel Komutlar-Dizin Yapısı
Linux101 Temel Komutlar-Dizin Yapısı
 
Devfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 SunumuDevfest Istanbul 2015 Sunumu
Devfest Istanbul 2015 Sunumu
 

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ı (8)

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
 
Holynix v1
Holynix v1Holynix v1
Holynix v1
 
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
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
 
Windows Legacy Server Migration
Windows Legacy Server MigrationWindows Legacy Server Migration
Windows Legacy Server Migration
 
Sqlmap Analiz
Sqlmap AnalizSqlmap Analiz
Sqlmap Analiz
 

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/configuration-options/  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
  • 2.  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
  • 3. 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.
  • 4.       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:00",stop:"15.05"}}},true) SECURİTY  db.getSiblingDB("admin")
  • 5.  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”)