<?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>Sec &#34;IP&#34; nix &#187; MySQL</title>
	<atom:link href="http://www.ugurengin.com/blog/category/mysql-2/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ugurengin.com/blog</link>
	<description>Uğur Engin</description>
	<lastBuildDate>Fri, 03 Feb 2012 23:00:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Corrupted MySQL MyISAM Tables</title>
		<link>http://www.ugurengin.com/blog/corrupted-mysql-myisam-tables.html</link>
		<comments>http://www.ugurengin.com/blog/corrupted-mysql-myisam-tables.html#comments</comments>
		<pubDate>Thu, 27 Oct 2011 07:45:51 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[buffer size]]></category>
		<category><![CDATA[corrupt tables]]></category>
		<category><![CDATA[myisam buffer size]]></category>
		<category><![CDATA[myisam engine]]></category>
		<category><![CDATA[myisamchk]]></category>
		<category><![CDATA[mysql buffer]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1739</guid>
		<description><![CDATA[&#8220;Table &#8216;table_name&#8217; is marked as crashed and should be repaired &#8230;.&#8221; şeklinde bir uyarı mesajı alıyor ve veritabanı engine olarak myisam kullanıyorsanız corrupt olmuş tablo/tabloları düzeltmek için myisamchk kullanabilirsiniz.Problemli tablo veya mevcut veritabanı içerisindeki diğer tabloların boyutu büyükse, checking ve reparing işlemi biraz uzayabilir.Bu durumda, eğer operating sistem üzerinde yeterli memory varsa mysql&#8217;in buffer parametlerini [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;">&#8220;Table &#8216;table_name&#8217; is marked as crashed and should be repaired &#8230;.&#8221;</span> şeklinde bir uyarı mesajı alıyor ve veritabanı engine olarak myisam kullanıyorsanız corrupt olmuş tablo/tabloları düzeltmek için myisamchk kullanabilirsiniz.Problemli tablo veya mevcut veritabanı içerisindeki diğer tabloların boyutu büyükse, checking ve reparing işlemi biraz uzayabilir.Bu durumda, eğer operating sistem üzerinde yeterli memory varsa mysql&#8217;in buffer parametlerini kullanarak komutun daha hızlı çalışmasını sağlayabilirsiniz.</p>
<p>532MB genişliğinde olan hedef  bir tablo&#8217;nun check ve repair edilmesi:</p>
<pre><span style="color: #008000;">myisamchk -c -i -v -s -f -U oz_stats_counter.MYI  --key_buffer_size=512M --sort_buffer_size=512M \</span>
<span style="color: #008000;"> --read_buffer_size=8M --write_buffer_size=6M \ oz_stats_counter.MYI</span>

<span style="color: #ff0000;">Checking MyISAM file: oz_stats_counter.MYI</span>
<span style="color: #ff0000;">myisamchk: MyISAM file oz_stats_counter.MYI</span>
<span style="color: #ff0000;">myisamchk: warning: Table is marked as crashed</span>
<span style="color: #ff0000;">No recordlinks</span>
<span style="color: #ff0000;">block_size 1024:</span>
<span style="color: #ff0000;">myisamchk: error: Key in wrong position at page 539734016</span>
<span style="color: #ff0000;">  - Searching for keys, allocating buffer for 16576362 keys</span>
<span style="color: #ff0000;">  - Dumping 16576360 key</span></pre>
<pre>Komut seçenekleri hakkında detaylı bilgi:
<span style="color: #008000;">myisamchk --help</span></pre>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fcorrupted-mysql-myisam-tables.html&amp;t=Corrupted%20MySQL%20MyISAM%20Tables" id="facebook_share_both_1739" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1739') || document.getElementById('facebook_share_icon_1739') || document.getElementById('facebook_share_both_1739') || document.getElementById('facebook_share_button_1739');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1739') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/corrupted-mysql-myisam-tables.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL MyISAM Engine Table Check</title>
		<link>http://www.ugurengin.com/blog/mysql-myisam-engine-table-check.html</link>
		<comments>http://www.ugurengin.com/blog/mysql-myisam-engine-table-check.html#comments</comments>
		<pubDate>Thu, 27 Oct 2011 06:22:09 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[myisam library]]></category>
		<category><![CDATA[myisamchk]]></category>
		<category><![CDATA[myisamchk check]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1735</guid>
		<description><![CDATA[MyISAM engine yapısına sahip tablolar hakkında &#8220;myisamchk&#8221; ile detaylı bilgi almak mümkün. myisamchk -dv oz_users.MYI MyISAM file:         oz_users.MYI Record format:       Packed Character set:       latin1_swedish_ci (8) File-version:        1 Creation time:       2011-04-16 11:52:43 Status:              open,changed Auto increment key:              1  Last value:                102307 Data records:                98296  Deleted blocks:                 0 Datafile parts:              98524  Deleted data:                   0 Datafile pointer (bytes):        [...]]]></description>
			<content:encoded><![CDATA[<p>MyISAM engine yapısına sahip tablolar hakkında &#8220;myisamchk&#8221; ile detaylı bilgi almak mümkün.</p>
<pre><span style="color: #008000;">myisamchk -dv oz_users.MYI</span>

<span style="color: #800000;">MyISAM file:         oz_users.MYI</span>
<span style="color: #800000;">Record format:       Packed</span>
<span style="color: #800000;">Character set:       latin1_swedish_ci (8)</span>
<span style="color: #800000;">File-version:        1</span>
<span style="color: #800000;">Creation time:       2011-04-16 11:52:43</span>
<span style="color: #800000;">Status:              open,changed</span>
<span style="color: #800000;">Auto increment key:              1  Last value:                102307</span>
<span style="color: #800000;">Data records:                98296  Deleted blocks:                 0</span>
<span style="color: #800000;">Datafile parts:              98524  Deleted data:                   0</span>
<span style="color: #800000;">Datafile pointer (bytes):        6  Keyfile pointer (bytes):        6</span>
<span style="color: #800000;">Datafile length:          22651516  Keyfile length:           7384064</span>
<span style="color: #800000;">Max datafile length: 281474976710654  Max keyfile length: 288230376151710719</span>
<span style="color: #800000;">Recordlength:                  948</span>

<span style="color: #800000;">table description:</span>
<span style="color: #800000;">Key Start Len Index   Type                     Rec/key         Root  Blocksize</span>
<span style="color: #800000;">1   1     4   unique  unsigned long                  1       300032       1024</span>
<span style="color: #800000;">2   1     4   unique  unsigned long prefix           0      7077888       1024</span>
<span style="color: #800000;">    843   100         varchar      </span>                  1

<strong></strong></pre>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fmysql-myisam-engine-table-check.html&amp;t=MySQL%20MyISAM%20Engine%20Table%20Check" id="facebook_share_both_1735" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1735') || document.getElementById('facebook_share_icon_1735') || document.getElementById('facebook_share_both_1735') || document.getElementById('facebook_share_button_1735');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1735') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/mysql-myisam-engine-table-check.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Datalarının Uzak Ftp Sunucuya Yedeklenmesi</title>
		<link>http://www.ugurengin.com/blog/mysql-datalarinin-uzak-ftp-sunucuya-yedeklenmesi.html</link>
		<comments>http://www.ugurengin.com/blog/mysql-datalarinin-uzak-ftp-sunucuya-yedeklenmesi.html#comments</comments>
		<pubDate>Mon, 03 Oct 2011 16:56:55 +0000</pubDate>
		<dc:creator>Uğur Engin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[mysql backup script]]></category>
		<category><![CDATA[mysql ftp backup]]></category>
		<category><![CDATA[mysql remote ftp]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[routines]]></category>
		<category><![CDATA[triggers]]></category>

		<guid isPermaLink="false">http://www.ugurengin.com/blog/?p=1637</guid>
		<description><![CDATA[Geçenlerde, düzenli olarak yedeklenmesini istediğim bir veritabanı vardı.Sadece core olarak kurulmuş ve üzerindeki paket uygulamaları minimize edilmiş bir yapı üzerinde sırf bir db&#8217;nin backup&#8217;ını alıp uzak bir ftp sunucusuna transfer etmesi için third parti bir yazılım kullanamazdım.Dolayısıyla, bash üzerinde işimi görecek aşağıdaki basit scripti hazırladım.İlgili script, ismi belirtilen db&#8217;ye tarih ekleyip  dump ettikten hemen sonra [...]]]></description>
			<content:encoded><![CDATA[<p>Geçenlerde, düzenli olarak yedeklenmesini istediğim bir veritabanı vardı.Sadece core olarak kurulmuş ve üzerindeki paket uygulamaları minimize edilmiş bir yapı üzerinde sırf bir db&#8217;nin backup&#8217;ını alıp uzak bir ftp sunucusuna transfer etmesi için third parti bir yazılım kullanamazdım.Dolayısıyla, bash üzerinde işimi görecek aşağıdaki basit scripti hazırladım.İlgili script, ismi belirtilen db&#8217;ye tarih ekleyip  dump ettikten hemen sonra gzip ile compress aksiyonunu gerçekleştirerek uzak ftp sunucusuna yüklüyor.Ardından da root klasörüne kaydedilmiş db&#8217;nin kopyasını siliyor.Script üzerine diğer ilgili açıklamaları not aldım.<span id="more-1637"></span></p>
<pre><span style="color: #008000;">#!/bin/bash</span>
<span style="color: #008000;">#</span><span style="color: #008000;">Take The Mysql Db Backup On Remote Ftp Server</span>
<span style="color: #008000;">#Note that you got to run below command to open the compressed file ("gz").</span>
<span style="color: #008000;">#gunzip file.gz</span>
<span style="color: #008000;">if [ $UID = 0 ]; then</span>
<span style="color: #008000;">#</span><span style="color: #008000;">MySQL Database Access Informations</span>
<span style="color: #ff0000;">user="db_user"</span>
<span style="color: #ff0000;">pass="db_pwd"</span>
<span style="color: #ff0000;">dbname="db_name"</span>
<span style="color: #008000;">date=$(date +"%d-%m-%Y")</span>
<span style="color: #008000;">mysqldump="$(which mysqldump)"</span>
<span style="color: #008000;">gzip="$(which gzip)"</span>
<span style="color: #008000;">file="/root/$date-dbbackup.gz"</span>
<span style="color: #008000;">$mysqldump -u$user -p$pass $dbname | $gzip -9 &gt; $file</span>
<span style="color: #008000;">echo "db backup is completed!"</span>
<span style="color: #008000;">sleep 3</span>
<span style="color: #008000;">echo "ftp session is opening to upload the mysql backup!"</span>
<span style="color: #008000;">sleep 3</span>
<span style="color: #008000;">#</span><span style="color: #008000;">Ftp Server Access Informations</span>
<span style="color: #ff0000;">ftpuser="ftp_user"</span>
<span style="color: #ff0000;">ftppwd="ftp_pwd"</span>
<span style="color: #ff0000;">ftpdest="ftp_IP_adress"</span>
<span style="color: #008000;">#Ftp Server Directory Path</span>
<span style="color: #ff0000;">ftpdir="ftp_remote_path"</span>
<span style="color: #008000;">localdir="root"</span>
<span style="color: #008000;">ftp -n $ftpdest &lt;&lt;EOF</span>
<span style="color: #008000;">user $ftpuser $ftppwd</span>
<span style="color: #008000;">cd $ftpdir</span>
<span style="color: #008000;">lcd $localdir</span>
<span style="color: #008000;">binary</span>
<span style="color: #008000;">prompt</span>
<span style="color: #008000;">mput *.gz</span>
<span style="color: #008000;">quit</span>
<span style="color: #008000;">EOF</span>
<span style="color: #008000;">/bin/rm -rf /$localdir/*.gz</span>
<span style="color: #008000;">else</span>
<span style="color: #008000;">echo "must be root!"</span>
<span style="color: #008000;">su -c $0</span>
<span style="color: #008000;">exit -1</span>
<span style="color: #008000;">fi</span></pre>
<p>Aslında, veritabanı yedeği dump edildiği esnada SQL statements&#8217;ların yanı sıra bir kaç komut satırı insert edilerek default da alınmayan stored procedure ve triggerlar da alınabilir.Aynı şekilde gerekli komut eklenerek tek bir veritabanı değilde tüm veritabanları&#8217;da yedeklenebilir.</p>
<p>Örnekler:<br />
<span style="color: #000080;">Stored Procedure :  &#8221; &#8211;routines&#8221;</span><br />
<span style="color: #000080;">Trigger                      :  &#8220;&#8211;triggers &#8221;<br />
For All Databases :  &#8220; &#8211;all-databases &#8220;</span></p>
<p>Daha detaylı yedekleme seçenekleri için aşağıdaki adresi ziyaret etmenizi öneririm.<br />
<a href="http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html" target="_blank">http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html</a></p>
<p>Backup scriptini kullanmak için kırmızı ile işaretlenen bölümlere veritabanı ve ftp sunucu bilgilerinizi girerek herhangi bir bölüme kaydettikten sonra 4 bit&#8217;lik &#8220;x/execute&#8221; yetkisi verip çalıştırmanız yeterli olacaktır.</p>
<p>Yetki Örnekleri:<br />
chmod +x dbbackup.sh (owner,group ve other gruplarına bağlı kullanıcılar çalıştırabilirler.)<br />
chmod u+x dbbackup.sh (Sadece root kullanıcısı çalıştırabilir.)<br />
chmod 700 dbbackup.sh (Sadece root kullanıcısı; okuma(read),yazma(write) ve çalıştırma(execute) yetkilerine sahiptir.)</p>
<p>Çalıştırma Örnekleri:<br />
sh dbbackup.sh<br />
./dbbackup.sh</p>
<p>Bunların yanı sıra script&#8217;i crontab&#8217;a koyup istenilen zaman dilimlerinde çalışmasını sağlatabilirsiniz.Tıpkı aşağıdaki backup scripti&#8217;nin her gece 22:00 pm&#8217;de çalıştırıldığı gibi.</p>
<pre><span style="color: #008000;">00  22  *  *  *  sh /root/tools/dbbackup.sh &gt; /dev/null 2&gt;&amp;1 </span></pre>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ugurengin.com%2Fblog%2Fmysql-datalarinin-uzak-ftp-sunucuya-yedeklenmesi.html&amp;t=MySQL%20Datalar%C4%B1n%C4%B1n%20Uzak%20Ftp%20Sunucuya%20Yedeklenmesi" id="facebook_share_both_1637" style="font-size:11px; line-height:13px; font-family:'lucida grande',tahoma,verdana,arial,sans-serif; text-decoration:none; padding:2px 0 0 20px; height:16px; background:url(http://b.static.ak.fbcdn.net/images/share/facebook_share_icon.gif) no-repeat top left;">Share on Facebook</a>
	<script type="text/javascript">
	<!--
	var button = document.getElementById('facebook_share_link_1637') || document.getElementById('facebook_share_icon_1637') || document.getElementById('facebook_share_both_1637') || document.getElementById('facebook_share_button_1637');
	if (button) {
		button.onclick = function(e) {
			var url = this.href.replace(/share\.php/, 'sharer.php');
			window.open(url,'sharer','toolbar=0,status=0,width=626,height=436');
			return false;
		}
	
		if (button.id === 'facebook_share_button_1637') {
			button.onmouseover = function(){
				this.style.color='#fff';
				this.style.borderColor = '#295582';
				this.style.backgroundColor = '#3b5998';
			}
			button.onmouseout = function(){
				this.style.color = '#3b5998';
				this.style.borderColor = '#d8dfea';
				this.style.backgroundColor = '#fff';
			}
		}
	}
	-->
	</script>
	]]></content:encoded>
			<wfw:commentRss>http://www.ugurengin.com/blog/mysql-datalarinin-uzak-ftp-sunucuya-yedeklenmesi.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

