<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ramdhani's Blog &#187; Database</title>
	<atom:link href="http://akudikampusbiru.wordpress.com/tag/database/feed/" rel="self" type="application/rss+xml" />
	<link>http://akudikampusbiru.wordpress.com</link>
	<description>Catatan kecil pengalaman, pemikiran dan proses pembelajaran ...</description>
	<lastBuildDate>Thu, 30 Jul 2009 19:16:06 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='akudikampusbiru.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/2759b964a86c265d586d9259cac717ee?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Ramdhani's Blog &#187; Database</title>
		<link>http://akudikampusbiru.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://akudikampusbiru.wordpress.com/osd.xml" title="Ramdhani&#8217;s Blog" />
		<item>
		<title>Replikasi Database di MySQL</title>
		<link>http://akudikampusbiru.wordpress.com/2008/12/21/replikasi-database-di-mysql/</link>
		<comments>http://akudikampusbiru.wordpress.com/2008/12/21/replikasi-database-di-mysql/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 13:09:39 +0000</pubDate>
		<dc:creator>Ramdhani</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Teknologi Informasi]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://akudikampusbiru.wordpress.com/?p=227</guid>
		<description><![CDATA[
Tulisan ini merupakan dokumentasi sekaligus sebagai reminder  saya dalam melakukan set up replikasi database di MySQL. Sebenarnya set up untuk model replikasi Master-Slave ini ngga terlalu rumit kok. Replikasi pada MySQL memungkinkan kita untuk memiliki copy database dari server utama (master) ke server lainnya/cadangan (slave), dan semua update/perubahan yang terjadi pada server utama akan otomatis [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akudikampusbiru.wordpress.com&blog=959978&post=227&subd=akudikampusbiru&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img class="alignnone size-medium wp-image-230" title="replikasi database" src="http://akudikampusbiru.files.wordpress.com/2008/12/diagram_wdr.gif?w=300&#038;h=300" alt="replikasi database" width="300" height="300" /></p>
<p>Tulisan ini merupakan dokumentasi sekaligus sebagai reminder  saya dalam melakukan set up replikasi database di MySQL. Sebenarnya set up untuk model replikasi Master-Slave ini ngga terlalu rumit kok. Replikasi pada MySQL memungkinkan kita untuk memiliki copy database dari server utama (master) ke server lainnya/cadangan (slave), dan semua update/perubahan yang terjadi pada server utama akan otomatis secara langsung di replikasi pada server slave. Replikasi berguna jika terjadi kerusakan pada server utama maka <em>effort </em>untuk segera membuat server kembali Up lebih minimal sambil menunggu server utama di perbaiki.</p>
<p>Pada kasus  ini saya melakukan replikasi pada 2 buah server yang di dalamnya terinstall OpenSuse. Server Utama adalah IBM Power PC Intellistation 185 dengan OS Linux Open Suse 11 (for Power PC) dan Server kedua adalah HP ML 350 G4 dengan OS Linux Open Suse 10.2. Secara umum konfigurasinya hampir sama dengan distro lainnya, hanya perbedaan di path saja saya pikir. OK lets get it on.</p>
<p><span id="more-227"></span></p>
<p><strong>1. Konfigurasi Master</strong></p>
<p>Pertama kita edit file <span><em>/etc/my.cnf</em></span><em> </em>pada file ini kita definisikan file log yang berfungsi oleh slave untuk melihat apa yang telah berubah pada master dan kita juga harus mendefinisikan bahwa MySQL pada sever utama ini adalah master. Dan kita juga ingin mereplikasi database dengan nama misalnya <em>ehrdatabase </em>maka kita harus menambahkannya ke file <span><em>/etc/my.cnf</em></span></p>
<p><em></em></p>
<p><em>log-bin = /var/log/mysql/mysql-bin.log</em></p>
<p><em>binlog-do-db=exampledb</em></p>
<p><em>server-id=1</em></p>
<p>lalu kita restart Mysql</p>
<p><em>/etc/init.d/mysql restart</em></p>
<p>Lalu kita log in ke MySQL sebagai root dan membuat user dengan kewenangan melakukan replikasi.</p>
<p><em></em></p>
<p><em>mysql -u root -p<br />
Enter password:</em></p>
<p>Sekarang kita dalam MySQL shell.</p>
<p><em>GRANT REPLICATION SLAVE ON *.* TO ’slave_user’@&#8217;%’ IDENTIFIED BY ‘&lt;some_password&gt;’; </em><span><em>(ganti</em></span><em>&lt;some_password&gt;</em><span><em> dengan password kita!)</em></span><em><br />
FLUSH PRIVILEGES;</em></p>
<p><em></em></p>
<p>Berikutnya (masih pada shell MySQL) beri perintah:</p>
<p><em>USE exampledb;<br />
FLUSH TABLES WITH READ LOCK;</em></p>
<p><em>SHOW MASTER STATUS; </em></p>
<p>Perintah terakhir akan menampilkan seperti berikut :</p>
<table border="0" cellspacing="0" cellpadding="0" width="448">
<tbody>
<tr>
<td valign="middle">+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+</p>
<p>| File          | Position | Binlog_do_db | Binlog_ignore_db |</p>
<p>+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+</p>
<p>| mysql-bin.006 | 183      | ehrdatabase  |                  |</p>
<p>+&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+</p>
<p>1 row in set (0.00 sec)</td>
</tr>
</tbody>
</table>
<p>Catat konfigurasi diatas karena akan digunakan saat mengkonfigurasi server slave. S</p>
<p>kemudian keluar dari shell MySQL :</p>
<p><em>quit;</em></p>
<p>Kaena kita ingin melakukan replikasi maka pada slave juga harus memiliki database yang sama seperti pada master, maka dari itu kita dump dulu database yang ada pada master, dengan perintah :</p>
<p><em>mysqldump -u root -p&lt;password&gt; –opt ehrdatabase &gt; ehrdatabase.sql</em></p>
<p>Sekarang konfigurasi master telah selesai. Sekarang set up slave ..</p>
<p><strong>2. Konfigurasi Slave</strong></p>
<p>Pada slave pertama kali kita buat database dulu dengan nama yang sama <span><em>ehrdatabase</em></span>:</p>
<p><em>mysql -u root -p<br />
Enter password:<br />
CREATE DATABASE ehrdatabase;<br />
quit;</em></p>
<p>Kemudian kita import/restore kembali data yang telah kita backup dari master pada slave:</p>
<p><em>mysql -u root -p&lt;password&gt; ehrdatabase &lt; ehrdatabase.sql</em></p>
<p>Sekarang kita harus Memberitahu MySQL yang ada pada slave, bahwa alamat IP server master adalah 192.168.1.100 , dan database yang akan di replikasi adalah <em>ehrdatabase</em>, dan database yang akan direplikasi adalah ehrdatabase. Maka dari itu kita tambahkan beberapa baris pada<span> <em>/etc/mysql/my.cnf</em>:</span></p>
<p><em>server-id=2</em></p>
<p><em>master-host=192.168.1.100</em></p>
<p><em>master-user=slave_user</em></p>
<p><em>master-password=secret</em></p>
<p><em>master-connect-retry=60</em></p>
<p><em>replicate-do-db=ehrdatabase</em></p>
<p>Lalu kita restart MySQL:</p>
<p><em>/etc/init.d/mysql restart</em></p>
<p>Terakhir , kita harus melakukan ini :</p>
<p><em>mysql -u root -p<br />
Enter password:<br />
SLAVE STOP;</em></p>
<p>Pada perintah berikutnya (masih on the MySQL shell) kita harus menyesuaikannya sesuai data yang ada:</p>
<p><em>CHANGE MASTER TO MASTER_HOST=’192.168.1.100′, MASTER_USER=’slave_user’, MASTER_PASSWORD=’&lt;some_password&gt;‘, MASTER_LOG_FILE=’mysql-bin.006′, MASTER_LOG_POS=183;</em></p>
<ul>
<li><span><em>MASTER_HOST</em></span> is the IP address or hostname of the master (in this example it is <span><em>192.168.0.100</em></span>).</li>
<li><span><em>MASTER_USER</em></span> is the user we granted replication privileges on the master.</li>
<li><span><em>MASTER_PASSWORD</em></span> is the password of <span><em>MASTER_USER</em></span> on the master.</li>
<li><span><em>MASTER_LOG_FILE</em></span> is the file MySQL gave back when you ran <span><em>SHOW MASTER STATUS;</em></span> on the master.</li>
<li><span><em>MASTER_LOG_POS</em></span> is the position MySQL gave back when you ran <span><em>SHOW MASTER STATUS;</em></span> on the master.</li>
</ul>
<p>Lalu beri perintah (masih pada shell MySQL) :</p>
<p><em>START SLAVE;</em></p>
<p>Begitulah simple bukan,sekarang kapanpun ehrdatabase terupdate di master, semua perubahan akan di replikasi ke database <em>ehrdatabase </em>pada slave. Saatnya di tes.</p>
<p>(pada shell MySQL) :</p>
<p><em>SHOW SLAVE STATUS\G;</em></p>
<p><em>*************************** 1. row ***************************</em></p>
<p><em> Slave_IO_State: Waiting for master to send event</em></p>
<p><em> Master_Host: 192.168.1.100</em></p>
<p><em> Master_User: slave_user</em></p>
<p><em> Master_Port: 3306</em></p>
<p><em> Connect_Retry: 60</em></p>
<p><em> Master_Log_File: MASTERMYSQL01-bin.000009</em></p>
<p><em> Read_Master_Log_Pos: 4</em></p>
<p><em></em></p>
<p><em> Relay_Log_File: MASTERMYSQL02-relay-bin.000015</em></p>
<p><em> Relay_Log_Pos: 3630</em><span><br />
</span><em> Relay_Master_Log_File: MASTERMYSQL01-bin.000009</em><span><br />
</span><em> Slave_IO_Running: Yes</em><span><br />
</span><em> Slave_SQL_Running: Yes</em><span><br />
</span><em> Replicate_Do_DB: ehrdatabase</em><span><br />
</span><em> Replicate_Ignore_DB:</em><span><br />
</span><em> Replicate_Do_Table:</em><span><br />
</span><em> Replicate_Ignore_Table:</em><span><br />
</span><em> Replicate_Wild_Do_Table:</em><span><br />
</span><em>Replicate_Wild_Ignore_Table:</em><span><br />
</span><em> Last_Errno: 0</em><span><br />
</span><em> Last_Error:</em><span><br />
</span><em> Skip_Counter: 0</em><span><br />
</span><em> Exec_Master_Log_Pos: 4</em><span><br />
</span><em> Relay_Log_Space: 3630</em><span><br />
</span><em> Until_Condition: None</em><span><br />
</span><em> Until_Log_File:</em><span><br />
</span><em> Until_Log_Pos: 0</em><span><br />
</span><em> Master_SSL_Allowed: No</em><span><br />
</span><em> Master_SSL_CA_File:</em><span><br />
</span><em> Master_SSL_CA_Path:</em><span><br />
</span><em> Master_SSL_Cert:</em><span><br />
</span><em> Master_SSL_Cipher:</em><span><br />
</span><em> Master_SSL_Key:</em><span><br />
</span><em> Seconds_Behind_Master: 1519187</em></p>
<p>Untuk melihat jalan tidaknya proses replikasi <em>Parameter Slave_IO_Running</em> and   <em>Slave_SQL_Running</em>: harus YES.</p>
<p>Ok Selesai.</p>
 Tagged: Database, Linux, Open Source, Teknologi Informasi <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/akudikampusbiru.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/akudikampusbiru.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/akudikampusbiru.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/akudikampusbiru.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/akudikampusbiru.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/akudikampusbiru.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/akudikampusbiru.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/akudikampusbiru.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/akudikampusbiru.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/akudikampusbiru.wordpress.com/227/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=akudikampusbiru.wordpress.com&blog=959978&post=227&subd=akudikampusbiru&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://akudikampusbiru.wordpress.com/2008/12/21/replikasi-database-di-mysql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/df1236cec115dcb6977e1542f7e57196?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">furqon / dhani</media:title>
		</media:content>

		<media:content url="http://akudikampusbiru.files.wordpress.com/2008/12/diagram_wdr.gif?w=300" medium="image">
			<media:title type="html">replikasi database</media:title>
		</media:content>
	</item>
	</channel>
</rss>