<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mysql, Mysql Yardım, Mysql Danışmanlık,Database danışmanlık,Mssql Danışmanlık,Oracle Danışmanlık &#187; Mysql Replication</title>
	<atom:link href="http://www.mysqlsupport.net/category/mysql-replication/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlsupport.net</link>
	<description>Database Danışmanlık Hizmeti</description>
	<lastBuildDate>Wed, 16 Mar 2011 07:40:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Mysql Master-Master Replication</title>
		<link>http://www.mysqlsupport.net/mysql-master-master-replication.html</link>
		<comments>http://www.mysqlsupport.net/mysql-master-master-replication.html#comments</comments>
		<pubDate>Sat, 28 Mar 2009 05:22:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mysql Replication]]></category>
		<category><![CDATA[asenkron replication]]></category>
		<category><![CDATA[master-master replication]]></category>

		<guid isPermaLink="false">http://www.mysqlsupport.net/?p=230</guid>
		<description><![CDATA[Mysql Master-Master Replication Master-Slave Replication da hertürlü veri girişleri, updateler, deleteler, yeni tablo oluşturma işlemleri vs Master database de yapılırdı. Slave database sadece read only şeklinde kullanılır ve sadece select işlemleri bu database”e yönlendirildi. Master-Maser replication da ise her iki master database de de insert/update/delete vs işlemleri yapılır ve neredeyse her iki database kendini anlık [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Mysql Master-Master Replication</strong></p>
<p>Master-Slave Replication da hertürlü veri girişleri, updateler, deleteler,<br />
yeni tablo oluşturma işlemleri vs Master database de yapılırdı. Slave<br />
database sadece read only şeklinde kullanılır ve sadece select işlemleri<br />
bu database”e yönlendirildi. Master-Maser replication da ise her iki master database<br />
de de insert/update/delete vs işlemleri yapılır ve neredeyse her iki database<br />
kendini anlık olarak eşler. Hem Master-Master hem de Master &#8211; Slave<br />
Replication Asenkron replicationdur. Data eşleşmesini binary logları<br />
kullanarak yapar.Yani Log-Based bir yapıya sahiptir. Senkron Replication<br />
yani Cluster”ı ise bir sonraki makalemde detaylı olarak anlatacağım.</p>
<p><strong>şimdi Master-Master replication”u nasıl yaparıza bakmaya başlayalım.</p>
<p>Ve adım adım işlemleri yapalım:</strong></p>
<p>Elimizde 192.168.1.21 ve 192.168.1.22 ip li 2 tane mysql server kurulu<br />
makinamız olmuş olsun. deneme isimli database”i replice edelim.</p>
<p><strong>1. Adım: </strong>Her iki makinada da,</p>
<p>#bind-address = 127.0.0.1<br />
#skip-networking ifadelerini /etc/mysql/my.cnf conf dosyasından kaldırıyoruz.<br />
Yani başına # işareti koymamız yeterli.</p>
<p><strong>2. Adım:</strong><br />
<strong><br />
Server1:</strong></p>
<p><em>GRANT REPLICATION SLAVE ON *.* TO “slaveUser2â?²@”%” IDENTIFIED BY “password”;<br />
FLUSH PRIVILEGES;</em></p>
<p>Server1 de yukarıdaki replication userını tanımlıyoruz.Ve<br />
/etc/init.d/mysql restart komutunu verek Server1â?²i restart ediyoruz.<br />
<strong><br />
Server2:<br />
</strong><br />
<em>GRANT REPLICATION SLAVE ON *.* TO “slaveUser1â?²@”%” IDENTIFIED BY “password”;<br />
FLUSH PRIVILEGES;</em></p>
<p>Server2 de yukarıdaki replication userını tanımlıyoruz.Ve<br />
/etc/init.d/mysql restart komutunu verek Server2â?²i restart ediyoruz.</p>
<p><strong>3. Adım:</strong><br />
<strong><br />
Server1:</strong> /etc/mysql/my.cnf de</p>
<p><em>[mysqld]<br />
server-id = 1<br />
replicate-same-server-id = 0<br />
auto-increment-increment = 2<br />
auto-increment-offset = 1</p>
<p>master-host = 192.168.1.22 (Master 2 serverın ip sini yazıyoruz)<br />
master-user = slaveUser1 (Master 2 de oluşturduğumuz replicasyon userının adını yazıyoruz)<br />
master-password = password (Master 2 de oluşturduğumuz replicasyon userının passwordunu yazıyoruz)<br />
master-connect-retry = 60<br />
replicate-do-db = deneme</p>
<p>log-bin = /var/log/mysql/mysql-bin.log<br />
binlog-do-db = deneme</p>
<p>relay-log = /var/lib/mysql/slave-relay.log<br />
relay-log-index = /var/lib/mysql/slave-relay-log.index</p>
<p>expire_logs_days = 10<br />
max_binlog_size = 500M</em></p>
<p>/etc/init.d/mysql restart komutunu verek Server1â?²i restart ediyoruz.</p>
<p><strong>4. Adım:</p>
<p>Server2:</strong><br />
<em><br />
[mysqld]<br />
server-id = 2<br />
replicate-same-server-id = 0<br />
auto-increment-increment = 2<br />
auto-increment-offset = 2</p>
<p>master-host = 192.168.1.21 (Master 1 “in ipsini yazıyoruz.)<br />
master-user = slaveUser2 (Master 1 de oluşturduğumuz replicasyon userının adını yazıyoruz)<br />
master-password = password (Master 1 de oluşturduğumuz replicasyon userının passwordunu yazıyoruz)<br />
master-connect-retry = 60<br />
replicate-do-db = deneme</p>
<p>log-bin= /var/log/mysql/mysql-bin.log<br />
binlog-do-db = deneme</p>
<p>relay-log = /var/lib/mysql/slave-relay.log<br />
relay-log-index = /var/lib/mysql/slave-relay-log.index</p>
<p>expire_logs_days = 10<br />
max_binlog_size = 500M</em></p>
<p>/etc/init.d/mysql restart komutunu verek Server2â?²i restart ediyoruz.</p>
<p><strong>5. Adım:</p>
<p>Server 2:</strong></p>
<p>stop slave; (problem Çıkarsa reset slave yapın).<br />
(server2 de change master bilgilerini doldururken server1 de SHOW MASTER STATUS; komutu verip bilgileri buraya yazın.)<br />
<em><br />
CHANGE MASTER TO MASTER_HOST=“192.168.1.21â?²,<br />
MASTER_USER=“slaveUser2â?²,<br />
MASTER_PASSWORD=“password”,<br />
MASTER_LOG_FILE=“mysql-bin.000049â?², (Server1 de SHOW MASTER STATUS; komutunun sonucuna göre doldur )<br />
MASTER_LOG_POS=98; (Server1 deSHOW MASTER STATUS; komutunun sonucuna göre doldur )<br />
start slave;<br />
</em><br />
sonra;</p>
<p><em>LOAD DATA FROM MASTER;</em></p>
<p>yapın yetki hatası alırsanız<br />
grant ALL on *.* to slaveUser1 komutunu veriniz.<br />
<strong><br />
6.Adım:</p>
<p>Server1:</strong></p>
<p>stop salve; yapın.</p>
<p>(Server1 de change master bilgilerini doldururken server2 de SHOW MASTER STATUS; komutu verip bilgileri buraya yazın.)<br />
<em><br />
CHANGE MASTER TO MASTER_HOST=“192.168.1.22â?²,<br />
MASTER_USER=“slaveUser1â?²,<br />
MASTER_PASSWORD=“password”,<br />
MASTER_LOG_FILE=“mysql-bin.000048â?², (Server2 de SHOW MASTER STATUS; komutunun sonucuna göre doldurun. )<br />
MASTER_LOG_POS=98; (Server2 de SHOW MASTER STATUS; komutunun sonucuna göre doldurun. )</p>
<p>start slave yapın.</em></p>
<p>İşte sonunda Master &#8211; Master replication Çalışmaya başlayacaktır.<br />
Her iki servera da /etc/init.d/mysql restart komutunu verirseniz Replicationunuzu kullanmaya<br />
başlayabileceksiniz.</p>
<p>Bir sonraki makaleler de görüşmek dileğiyle,</p>
<p>Tayfur BÖLER<br />
Database Administrator</p>
<p><script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=4969258a-227b-4163-a200-3e9a272c960a&amp;type=wordpress&amp;buttonText=Bu%20Yaz%C4%B1y%C4%B1%20Payla%C5%9F&amp;style=rotate&amp;post_services=facebook%2Cdigg%2Cdelicious%2Cybuzz%2Ctwitter%2Cstumbleupon%2Creddit%2Ctechnorati%2Cmixx%2Cblogger%2Ctypepad%2Cwordpress%2Cgoogle_bmarks%2Cwindows_live%2Cmyspace%2Cfark%2Cbus_exchange%2Cpropeller%2Cnewsvine%2Clinkedin"></script></p>

<p class="sayac_bilgi">Bugun Okunma Sayısı:1,
Toplam Okunma Sayısı:2358</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mysqlsupport.net/mysql-master-master-replication.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mysql Master-Slave Replication</title>
		<link>http://www.mysqlsupport.net/mysql-master-slave-replication.html</link>
		<comments>http://www.mysqlsupport.net/mysql-master-slave-replication.html#comments</comments>
		<pubDate>Wed, 25 Mar 2009 07:31:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mysql Replication]]></category>
		<category><![CDATA[master-slave]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[Yeni etiket ekle]]></category>

		<guid isPermaLink="false">http://www.mysqlsupport.net/?p=218</guid>
		<description><![CDATA[Mysql Master-Slave Replication, Replication kelime anlamı olarak Veri Kopyalama anlamına gelir. Database tarafında ise; bir database&#8217;in başka bir sunucu üzerinde eşleniğinin &#8216;yani hem yapısal hem de datasal olarak&#8217; tutulmasıdır. Master database da yapılan herhagi bir değişiklik anında eşlenik database &#8216;Slave&#8217; yansır. Replication bir backuplama yöntemi değildir. Üünkü Master database de yapılan bir delete işlemi slave [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Mysql Master-Slave Replication,</strong></p>
<p><strong>Replication</strong> kelime anlamı olarak Veri Kopyalama anlamına gelir.<br />
Database tarafında ise; bir database&#8217;in başka bir sunucu üzerinde<br />
eşleniğinin &#8216;yani hem yapısal hem de datasal olarak&#8217; tutulmasıdır.<br />
Master database da yapılan herhagi bir değişiklik anında eşlenik<br />
database &#8216;Slave&#8217; yansır. Replication bir backuplama<br />
yöntemi değildir. Üünkü Master database de yapılan bir delete<br />
işlemi slave database de de yapılacağı iÇin  her iki database de de<br />
veri silinmiş olacaktır. Replication nun faydası yüksek erişilebilirlilik<br />
sağlaması<strong>(Hight Availability)</strong> ve uygulamanın performansında artışa<br />
sebeb olmaktır. Bu performans artışını da uygulama tarafında<br />
insert-update-delete işlemlerini master database&#8217;e select işlemlerini de<br />
slave database&#8217;e yönlendirilerek yapılabilir. Tabi bu yapıyı Çoğaltma<br />
şansınız var.<strong>Master -Slave -Slave </strong>&#8212; şeklinde Slave sunucu sayısını<br />
arttırabilirsiniz. Burada dikkat etmeniz gereken bir nokta var.<br />
Master ve Slave sunucuların aynı network farmında bulunması gerekmek<br />
tedir. Aksi takdirde perforans ta ciddi azalmalar meydana gelir.</p>
<p><strong>şimdi nasıl Master &#8211; Slave Replication yaparız ona bakalım.</strong></p>
<p>Elimizde 192.168.1.21 ve 192.168.1.22 ip li 2 tane mysql serverımız olmuş olsun.<br />
192.168.1.21: Master Db<br />
192.168.1.22:Slave Db<br />
Master sunucu üzerindeki personel databaseini replice edelim.</p>
<p><strong>1.Adım: </strong>Master ve Slave Database lerde /etc/mysql/my.cnf  conf dosyası<br />
iÇinden :	<em>#bind-adres=127.0.0.1<br />
        	#skip-networking ibarelerinin kaldırılması gerkiyor.Yani başına # işareti koymanız yeterli.<br />
</em><br />
<strong>2.Adım:</strong> Master sunucuda ki /etc/mysql/my.cnf conf dosyasını aÇıp</p>
<p>          <em>   [mysqld]<br />
             log-bin = /var/log/mysql/mysql-bin.log<br />
             binlog-do-db=personel<br />
             server-id=1</em></p>
<p>            yukarıdaki ayarları yazmanız gerekiyor.</p>
<p><strong>3.Adım : </strong>Sonra mysql&#8217;i restart edin.<em>(/etc/init.d/mysql restart) </em><br />
              Devamında  veritabanına root olarak girip ve replication haklarına sahip bir user yaratacağız.</p>
<p>             Konsoldan <em>mysql -u root -p</em> yazıp entera basın ve passwordu girin.Böylece mysql&#8217;e bağlanmış<br />
             olacaksınız. Daha sonra;</p>
<p>         <em>    GRANT REPLICATION SLAVE ON *.* TO “slave_user”@ “%” IDENTIFIED BY “password”;<br />
</em><br />
              “slave_user” yerine vereceğiniz userı ,&#8217;password&#8217; yerine de vereceğiniz passwordu yazın ve<br />
             enter&#8217;a basın. Devamında da;</p>
<p>          <em>   FLUSH PRIVILEGES;</em><br />
             yazıp Çalıştırmanız yeterlidir.<br />
<strong><br />
4.Adım: </strong>Hala Master sunucu da mysql konsolunun aÇık olması gerekmektedir.<br />
<em><br />
            SHOW MASTER STATUS;</em> deyip,</p>
<p>              +”““““““+”“““-+”““““““+”““““““““+</p>
<p>              | mysql-bin.066 | 1180 | personel | |</p>
<p>              +”““““““+”“““+”““““““+”““““““““+</p>
<p>              yukarıda ki gibi gelen ekrandaki bilgileri not ediniz. Daha sonra slave konfirigasyonunda<br />
              kullanacağız.<br />
<strong><br />
5.Adım : </strong>Bu adımda Master sunucudaki verilerin Slave sunucuya taşıma işlemini nasıl yapacağınıza<br />
              karar vermeniz gerekmektedir. Ya Master sunucu da dump alarak verileri taşıyacaksınız<br />
              ya da ayarlarımızı bitirdikten sonra <em>LOAD DATA FROM MASTER; </em>komutunu kullanarak<br />
              verileri taşıyacağız.Mysql de dump alma işlemini<br />
              <strong>http://www.mysqlsupport.net/mysql-backup.html </strong>adresinde nasıl yapılacığını anlatmıştım.<br />
       <em>       LOAD DATA FROM MASTER; </em>komutunu kullanacak isek bu aşamayı şimdilik geÇiyoruz.<br />
              Bir dip not düşmek istiyorum eğer taşıyacağınız datanın boyutu büyük ise<br />
           <em>   LOAD DATA FROM MASTER; </em>yaptığınız zaman  Master db niz işlem bitene kadar<br />
              lock olacaktır .</p>
<p><strong>6.Adım: </strong>Slave Sunucu ayarlarına başlayabilriz.<br />
             Üncelikle Slave sunucu da master sunucudaki personel database&#8217;ini oluşturmanız gerekecektir.<br />
             Daha sonra eğer dump almış isek onu restore ediyoruz.Eğer dumpımız yok ise<br />
            <em> LOAD DATA FROM MASTER; </em>komutunu bu aşamada Çalıştırmıyoruz.<br />
             şimdi Slave sunucuya kendisinin Slave olduğunu Masterının ise 192.168.1.21 ip li<br />
             makina olduğunu ve personel database&#8217;ini araması gerektiğini söylüyoruz.<br />
             Bunun iÇin aşağıdaki satırları <em>/etc/mysql/my.cnf</em> conf dosyasının iÇine ekliyoruz.</p>
<p>   <em>         [mysqld]<br />
            server-id=2<br />
            master-host=192.168.1.21(Master sunucunun ip si)<br />
            master-user=slave_user(Master da, slave sunucunun kullanması iÇin oluşturduğumuz user)<br />
            master-password=password(Master da, slave sunucunun kullanması iÇin oluşturduğumuz pass)<br />
            master-connect-retry=60<br />
            replicate-do-db=personel</em><br />
<strong><br />
7.Adım: </strong>şimdi <em>/etc/init.d/mysql restart</em> komutunu verip mysql&#8217;i restart edin.<br />
            Sonra konsoldan <em>mysql -u root -p</em> yazarak mysql&#8217;e bağlanıp,<br />
            <em>LOAD DATA FROM MASTER;</em> komutunu Çalıştırabilirsiniz. Böylece<br />
            Master sunucudaki dataları Slave sunucuya taşımız olursunuz.</p>
<p><strong>8.Adım: </strong>Slave deki Mysql&#8217;e bağlı konumdayken,<br />
            <em> SLAVE STOP; </em>işlemini yapın ve<br />
             (Master daki <em>SHOW MASTER STATUS; </em>komutu sonuclarına göre doldurulacak)</p>
<p>           <em>  CHANGE MASTER TO MASTER_HOST=&#8217;192.168.1.21â?²,<br />
             MASTER_USER=“slave_user”,<br />
             MASTER_PASSWORD=“password”,<br />
             MASTER_LOG_FILE=“mysql-bin.066â?², MASTER_LOG_POS=1180;</em></p>
<p>            yukarıdaki komut satırlarını Çalıştırın. Burada herhangi bir hata almamanız gerekmektedir.<br />
            Eğer hata alırsanız bilgileri doğru girdiğinizde emin olun.Hala hata devam ederse<br />
          <em>  RESET SLAVE; </em>komutunu Çalıştırıp tekrar tekrar deneyin.<br />
            Bu işlemi de problemsiz atlattıkdan sonra ;<br />
<em><br />
            START SLAVE; </em>komutunu Çalıştırın.</p>
<p>Evet 8.Adımla birlikte MASTER-SLAVE Replication işlemini tamamlamış olduk.<br />
şimdi ise testler yapabilirsiniz.</p>
<p>Bir sonraki makaleler de görüşmek dileğiyle,</p>
<p>Tayfur BÖLER<br />
Database Administrator</p>
<p><script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=4969258a-227b-4163-a200-3e9a272c960a&amp;type=wordpress&amp;buttonText=Bu%20Yaz%C4%B1y%C4%B1%20Payla%C5%9F&amp;style=rotate&amp;post_services=facebook%2Cdigg%2Cdelicious%2Cybuzz%2Ctwitter%2Cstumbleupon%2Creddit%2Ctechnorati%2Cmixx%2Cblogger%2Ctypepad%2Cwordpress%2Cgoogle_bmarks%2Cwindows_live%2Cmyspace%2Cfark%2Cbus_exchange%2Cpropeller%2Cnewsvine%2Clinkedin"></script></p>
<p><script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=4969258a-227b-4163-a200-3e9a272c960a&amp;type=wordpress&amp;buttonText=Bu%20Yaz%C4%B1y%C4%B1%20Payla%C5%9F&amp;style=rotate&amp;post_services=facebook%2Cdigg%2Cdelicious%2Cybuzz%2Ctwitter%2Cstumbleupon%2Creddit%2Ctechnorati%2Cmixx%2Cblogger%2Ctypepad%2Cwordpress%2Cgoogle_bmarks%2Cwindows_live%2Cmyspace%2Cfark%2Cbus_exchange%2Cpropeller%2Cnewsvine%2Clinkedin"></script></p>

<p class="sayac_bilgi">Bugun Okunma Sayısı:2,
Toplam Okunma Sayısı:1293</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mysqlsupport.net/mysql-master-slave-replication.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

