<?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>Hakan Müştak &#187; mysql</title>
	<atom:link href="http://mustak.org/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://mustak.org</link>
	<description>Kişisel Paylaşım Blogu</description>
	<lastBuildDate>Thu, 22 Mar 2012 05:16:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</title>
		<link>http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/</link>
		<comments>http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 11:35:59 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makale]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Uygulama]]></category>
		<category><![CDATA[backup tools]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[yedekleme aracı]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=277</guid>
		<description><![CDATA[Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python uzmanı olmadığımı ve hobi için uğraştığımı başta belirtmeliyim sanırım. 8-10 civarı kaydadeğer eleştri maili ; 2 adette direkt yorum aldım. Bu eleştriler üzerine, dün akşamüstü oturup daha önce  yarım-yamalak [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mustak.org/wp-content/uploads/2012/02/Python_hmustak.png"><img class="alignleft  wp-image-79" style="border-style: initial; border-color: initial; border-image: initial; margin-top: 1px; margin-bottom: 1px; margin-left: 10px; margin-right: 10px; border-width: 0px;" title="Python MaqaSQLDumper V2" src="http://mustak.org/wp-content/uploads/2012/02/Python_hmustak.png" alt="" width="62" height="62" /></a>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan <a href="http://mustak.org/python-mysql-uzerinde-tum-databaselerimizi-yedekleyelim/" target="_blank">BURADA</a> yayınlamıştım. Python uzmanı olmadığımı ve hobi için uğraştığımı başta belirtmeliyim sanırım. 8-10 civarı kaydadeğer eleştri maili ; 2 adette direkt yorum aldım. Bu eleştriler üzerine, dün akşamüstü oturup daha önce  yarım-yamalak hazırladığım uygulamamın 2.versiyonuna çalıştım.</p>
<p><span id="more-277"></span></p>
<p>Uygulamayı github&#8217;a koymayı çok pratik bulmuyorum nedense. Türk Python&#8217;cularının toplanma alanı olarak gördüğüm <a href="http://www.istihza.com/forum/viewtopic.php?f=25&amp;t=716" target="_blank">istihza</a> üzerinde kodlarımı paylaşarak, usta pythoncuların eleştirmesini de istedim. MaqaSQLDumper V3 &#8216;ü de gelecek bu eleştriler doğrultusunda hazırlamayı düşünüyorum</p>
<p>Artık uygulamamıza geçelim.</p>
<h3>Uygulamanın adı nereden geliyor?</h3>
<p>Uygulamanın adı konu başlığında da belirttiğim gibi <span style="color: #800000;">MaqaSQLDumper V2.1</span>. Bu isim nereden geliyor;<br />
<span style="color: #800000;">Maqas</span> bildiğiniz gibi bizim gnu uygulamalar geliştirmeye çalıştığımız sosyal yazılım grubumuz (bkz <a title="MaqasNet" href="http://maqas.net" target="_blank">Maqas.Net</a>) . Çok değerli yazılımcıların bulunduğu harika bir grup.<br />
<span style="color: #800000;">SQL</span> tüm yapısal sorgulama dili üzerinde çalıştığımız izlenimini verse de uygulama şuanda sadece MySQL&#8217;i destekliyor, bunu ifade ediyor.<br />
<span style="color: #800000;">Dumper</span>; MySQLDump&#8217;tan geliyor. Dump edici olarak yorumlanabilir.</p>
<h3>MaqaSQLDumper V2 ne yapar?</h3>
<ul>
<li>Web sunucunuz üzerindeki tüm veritabalarını sıkıştırarak göstereceğiniz yere yedekler. (MySQLDump)</li>
<li>Ana web dizininizi sıkıştırarak göstereceğiniz yere yedekler.</li>
<li>Kullanıcının belirteceği gün limitinden önceki yedekleri otomatik siler.</li>
<li>Gmail adresinize bilgilendirme maili atar.</li>
<li>Son durumu / Yapılanları ekrana basar.</li>
</ul>
<p>Birçok web developerın, server yöneticisinin, benim gibi home-developer&#8217;ların zaman zaman yedek alması gerektiği su götürmez bir gerçektir. Bu uygulamayı Linux altında cron&#8217;a, windows altında (test etmedim, çalışılması gerek) Zamanlanmış Görevler&#8217;e eklenirse istenen frekansta yedekleri alıp, belirtilen tarihten eski yedekleri de kendisi siler. Ve hepsini script başında basitce ayarlayabilir.</p>
<h3>Neden GUI değil?</h3>
<p>Aslında gelen eleştri maillerinde de bu konu dikkatimi çekti. Tabii ki GUI olması daha basit bir uygulama yönetimi sağlayacaktı. Fakat şuda bir gerçek ki, neredeyse tüm server yöneticileri, panel harici kurma/kaldırma/ayarlama işlerini;  ssh üzerinden serverına bağlanır ve ssh üzerinden yapar. Terminal (yada putty) üzerinde çalışacak uygulamanın GUI desteklemesi bana pek mantıklı gelmedi. MaqaSQLDumper&#8217;ın cross-platform ve GUI versiyonunu da yakında hazırlayacağım.</p>
<h3>Uygulamanın hazırlandığı bileşenler nelerdir?</h3>
<p>Linux 3.0.0-16-generic-pae #29-Ubuntu SMP Tue Feb 14 13:56:31 UTC 2012 i686 i686 i386 GNU/Linux<br />
Python 2.7.2+ (default, Oct 4 2011, 20:03:08) - [GCC 4.6.1] on linux2<br />
pyCharm 2.0.2</p>
<h3>Uygulamanın ekran görüntüleri</h3>
<p>Çalışma zamanı ekran görüntüsü ;</p>
<p style="text-align: center;"><img class="size-full wp-image-279 aligncenter" style="border-image: initial; margin-top: 5px; margin-bottom: 5px; border-width: 1px; border-color: black; border-style: solid;" title="MaqaSQLDumperV2 Çalışma Ekranı" src="http://mustak.org/wp-content/uploads/2012/03/MaqaSQLDumperV2_2.png" alt="" width="569" height="354" /></p>
<p style="text-align: left;">Bilgilendirme maili ekran görüntüsü;</p>
<p style="text-align: center;"><a href="http://mustak.org/wp-content/uploads/2012/03/MaqaSQLDumperV2_1.png"><img class="size-full wp-image-278 aligncenter" style="border-image: initial; margin-top: 5px; margin-bottom: 5px; border-width: 1px; border-color: black; border-style: solid;" title="MaqaSQLDumperV2_1" src="http://mustak.org/wp-content/uploads/2012/03/MaqaSQLDumperV2_1.png" alt="" width="473" height="267" /></a></p>
<h3>Nerden indirip deneyebiliriz?</h3>
<p>Link : <a href="http://mustak.org/work_dir/maqasqldumper/MaqaSQLDumper_V2.zip" target="_blank">http://mustak.org/work_dir/maqasqldumper/MaqaSQLDumper_V2.zip<br />
</a>Sisteminizde bulunmayan, eksik kütüphane sorunu olursa (ki sanmıyorum), mail yoluyla iletişime geçebilirsiniz.</p>
<h3>Pythoncular için tartışma alanı</h3>
<p><a href="http://www.istihza.com/forum/viewtopic.php?f=25&amp;t=716" target="_blank">http://www.istihza.com/forum/viewtopic.php?f=25&amp;t=716</a></p>
<h3>Kodlar</h3>
<p>Tavsiyem uygulama kodlarını üstteki linkten indirmeniz, aşağıdaki kodları ise sadece inceleme için kullanmanız. Malum ki python sözdizimi konusunda hassastır. Copy/Paste ile ciddi yerimi sıkıntısı olacağı için çalıştırma sorunları yaşanabilir, derlemeden önce üzerinde ciddi zaman harcayabilirsiniz.</p>
<pre class="brush: python; title: ; notranslate">#!/usr/bin/env python
#-*- coding: utf-8 -*-

# MaqaSQLDumper V2.1
# @author: Hakan Mustak
# @mail: hmustak@gmail.com @web: http://www.mustak.org
# Revised on 14/03/2012
# Created on 10/03/2012

#Betik içinde İhtiyaç duyduğumuz paketleri ekliyoruz
import os, time, MySQLdb, tarfile, shutil, smtplib
from os.path import getsize
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText

#AYARLAR - (Kullanıcı tarafından değiştirilebilir ayarlar)
#---------------------------------------------------------------------------
#MySQL kurulu bilgisayar
dbserver = &quot;localhost&quot;
#MySQL kullanıcı adı
dbUser = &quot;root&quot;
#MySQL şifresi
dbPasswd = &quot;DATABASE_PASSWORD_HERE&quot;
#MySQL Backup Yolumuz
yedekYolu = &quot;/home/redshark/Backup/&quot;
#Web dizini Yolumu
webYolu = r&quot;/var/www/&quot;
#Eski dosta silinme Limit Gün sayısı
limit = 10
#Mail Bilgileri
mailUser = &quot;hmustak@gmail.com&quot;
mailPasswd = &quot;GMAIL_PASSWORD_HERE&quot;
mailFrom = &quot;hakan@mustak.org&quot;
mailTo = &quot;hmustak@gmail.com&quot;
#----------------------------------------------------------------------------

# Kullanıcı tarafından değiştirilmesi ÖNERİLMEYEN ayarlar
#---------------------------------------------------------------------------
#Tarih-Saat bilgisi
zaman = time.strftime(&quot;%Y-%m-%d-%H-%M&quot;)
#DB yedekyolu
dbYedekYolu = r&quot;%smysql/%s/&quot; % (yedekYolu, time.strftime(&quot;%Y-%m-%d&quot;))
#WebDizini Backup Yolumu
webYedekYolu = r&quot;%sweb/%s/&quot; % (yedekYolu,time.strftime(&quot;%Y-%m-%d&quot;))
#Database isimlerini koyacağımız liste
dbListe = []
#Database dosyalarımızın boyutları
bilgiBoyut = []
#Silinen dizin-dizinler
silinenDizin = []
#---------------------------------------------------------------------------

#DB isimlerini listelere yerleştiriyoruz
def dbListeOlustur():
 #Bilgilendirmeyi yapalım
 print &quot; =&gt; Veritabanı bağlantısı sağlanıyor&quot;
 # Database bağlantısını yapıyoruz
 dataCon = MySQLdb.connect(dbserver,dbUser,dbPasswd)
 # Nesnemizi oluşturuyoruz
 dbNesne = dataCon.cursor()
 # Databaselerimizi çekelim
 dbNesne.execute(&quot;show databases&quot;)

# Ve Databaselerimizi yedekleyelim
 for database in dbNesne.fetchall():
 #Yedeklenmesini istemediğimiz VT'leri hariç bırakalım
 if (database[0]!=&quot;information_schema&quot;)and(database[0]!=&quot;mysql&quot;):
 #Yedek hazırlayan fonksiyonumuzu çağırıyoruz
 dbListe.append(database[0])

#DB lerimizi sıkıştırıp Dump ediyoruz
def dbYedekle():
 #Bilgilendirmeyi yapalım
 print &quot; =&gt; SQL Yedek dosyaları oluşturuluyor&quot;
 #Veritabanı listesini çekiyoruz
 for liste in dbListe:
 #Dosya adını oluşturuyoruz
 dbYedekDosya = r&quot;%s_%s_SQL_backup.sql&quot; % (zaman,liste)
 #MysqlDump komutumuzu işleterek sql dosyamızı oluşturuyoruz
 os.system(&quot;mysqldump -u%s -p%s %s &gt; %s%s&quot; % (dbUser, dbPasswd, liste, dbYedekYolu, dbYedekDosya))
 #Oluşturduğumuz sql dosyamızı sıkıştırıyoruz
 os.system(&quot;gzip -9 %s%s&quot; % (dbYedekYolu, dbYedekDosya))

#Yedeklenecek DB'leri gösterir
def dbListeGoster():
 #Bilgilendirmeyi yapalım
 print &quot;*** Veritabanları yedeklendi&quot;
 #Dosya ölçü ve isimlerini çekelim
 for dosya in os.listdir(dbYedekYolu):
 #dosya ve yolunu bir değişkene atamalıyız(daha okunur oluyor)
 yol = r&quot;%s%s&quot; % (dbYedekYolu,dosya)
 #sonuçları listemize ekliyoruz
 bilgiBoyut.append(&quot;[vt][%s kb] %s&quot; % (round((getsize(yol)/1024.0),2) ,dosya))

#Yedeklenecek web ana dizinini burada sıkıştırıp yedekliyoruz
def dizinYedekle(source, target):
 #yedek dosyamızın adını oluşturuyoruz
 dosyaYol = &quot;%s%s%s&quot;%(target,zaman,&quot;.tar.gz&quot;)
 #Klasör sıkıştırmak için tar modülünü kullanıyoruz
 tar = tarfile.open(dosyaYol, &quot;w:gz&quot;)
 #Üstte oluşturduğumuz dosyaya aşağıdaki adresi ekliyoruz
 tar.add(source)
 #İşimiz bitince ışıkları söndürelim/uygulamaları kapatalım
 tar.close()
 #yedeklenen dizinlerin bilgilerini daha sonra kullanmak üzere listeye ekliyoruz
 bilgiBoyut.append(&quot;[dizin][%s mb] %s&quot; % (round(((getsize(dosyaYol)/1024.0)/1024),2) ,dosyaYol))
 #Uygulama ne aşamada kullanıcıya bilgi verelim
 print &quot;*** Web dizini yedeklendi&quot;

#Belli bir süre sonunda ihtiyacı biten yedekleri silmeliyiz
def eskiDizinSil(sil,tip):
 #Yedeğin silineceği dizindeki klasörleri listeliyoruz
 for dizin in os.listdir(sil):
 #silinen dosyaadını taşıyacağımız değişken
 silinenTip=&quot;&quot;
 #limit gün sayısından toplam saniyeyi hesaplıyoruz
 limitSN = limit * 86400
 #Silme aşamasında hata oluşabiliyor, oluşursa devam edelim
 try:
 #Dizinin ömrü verilen limitten fazla ise (default:10gün)
 if (os.stat(sil+dizin).st_ctime &lt; (time.time()-limitSN)):
 #Silme bilgisi için kayıt oluşturuyoruz
 silinenTip = &quot;[%s] %s&quot;%(tip,dizin)
 #silme bilgisini kayıt listesine ekliyoruz
 silinenDizin.append(silinenTip)
 #Dizini tüm alt dizin ve dosyaları ile birlikte silitoruz
 shutil.rmtree(sil+dizin)
 except :
 #Hata varsa, devam et
 pass

def bilgi():
 #Mail gönderilecek gövde
 metin = &quot;&quot; + &quot;\n\n&quot;
 metin = metin + &quot;Yedeklenen Dosyalar ve büyüklükleri&quot; + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n&quot;
 #Yedekleme bilgileri hazırlanıyor
 for liste in bilgiBoyut:
 metin = metin + liste + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n\n&quot;
 metin = metin + &quot;Silinen Dizinler&quot; + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n&quot;
 #Silme bilgileri hazırlanıyor
 for dizin in silinenDizin:
 metin = metin + dizin + &quot;\n&quot;
 metin = metin + &quot;----------------------------------------------------------------------&quot; + &quot;\n\n&quot;

#MIMEMultipartı hazırlamaya başlıyoruz
 posta = MIMEMultipart()
 posta['Subject'] = &quot;%s : Günlük Yedekleme Tamamlanmıştır&quot; % (zaman)
 posta['From'] = mailFrom
 posta['To'] = mailTo
 mesaj = metin
 posta.attach(MIMEText(mesaj))

#Mail göndermek üzere gmaile bağlanıyoruz (Günlük limit 500)
 smtpserver = smtplib.SMTP(&quot;smtp.gmail.com&quot;,587)
 smtpserver.ehlo()
 smtpserver.starttls()
 smtpserver.ehlo
 smtpserver.login(mailUser, mailPasswd)
 smtpserver.sendmail(mailUser, mailTo, posta.as_string())
 smtpserver.close()

#Mail gönderdikten sonra sonuçları ekrana basalım
 print &quot;\n&quot;
 print &quot;Yedeklenen Dosyalar ve büyüklükleri&quot;
 print &quot;--------------------------------------------------------------------&quot;
 #Bilgi Listemizi gösterelim
 for liste in bilgiBoyut:
 print liste
 print &quot;--------------------------------------------------------------------\n&quot;
 print &quot;Silinen Dizinler&quot;
 print &quot;--------------------------------------------------------------------&quot;
 #Bilgi Listemizi gösterelim
 for dizin in silinenDizin:
 print dizin
 print &quot;--------------------------------------------------------------------\n&quot;
 print &quot;Bilgilendirme maili gönderilmiştir : %s&quot; % (mailUser)
 print &quot;\n&quot;

#Dizin oluşturma fonksiyonumuz
def dizinOlustur(dizin):
 os.mkdir(dizin)

# Backup altındaki base yedek dizinimizi oluşturalım
if os.path.isdir(yedekYolu+&quot;mysql/&quot;) == False:
 dizinOlustur(yedekYolu+&quot;mysql/&quot;)
if os.path.isdir(yedekYolu+&quot;web/&quot;) == False:
 dizinOlustur(yedekYolu+&quot;web/&quot;)

#Günlük yedekleme yapılmış mı? Kontrol ve yedekleme alanımız
if os.path.isdir(dbYedekYolu) == False:
 #Veritabanı ve Web dizini için yedeklenecek dizini oluşturalım
 dizinOlustur(dbYedekYolu)
 dizinOlustur(webYedekYolu)

#Veritabanı yedekleme işlemleri
 dbListeOlustur()
 dbYedekle()
 dbListeGoster()

#Web dizini yedekleme işlemleri
 dizinYedekle(webYolu,webYedekYolu)

#Eski dizinleri silme vakti
 eskiDizinSil(yedekYolu+&quot;mysql/&quot;,&quot;vt&quot;)
 eskiDizinSil(yedekYolu+&quot;web/&quot;,&quot;web&quot;)

#Yedekleme sonuç gösterme/gönderme bilgileri
 bilgi()

else:
 print &quot;Bugün (%s) yedeğiniz alınmış gözüküyor&quot; % (time.strftime(&quot;%d-%m-%Y&quot;))</pre>
<p>coşmak üzere&#8230;<br />
Hakan Müştak</p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/python-mysql-uzerinde-tum-databaselerimizi-yedekleyelim/" title="[Python] Mysql üzerinde tüm databaselerimizi yedekleyelim">[Python] Mysql üzerinde tüm databaselerimizi yedekleyelim</a><br /><small>Akşam uyuma hazırlığı yaparken, sitelerimin ev sahipliğini yapan arkadaşım daha önce yazdığım veritabanı yedekleme ile ilgili yazımın yetersizliğinden bahsedince uykum kaçtı. Haklıydı, o günün ihtiyac...</small></li><li><a href="http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/" title="Pythonla MySql yedeği alıp mail atalım">Pythonla MySql yedeği alıp mail atalım</a><br /><small>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; "Düzenli Yedek Almak". Bir çok server yada site yönetic...</small></li><li><a href="http://mustak.org/sudonun-patenti-microsoftta/" title="SUDO&#8217;nun patenti Microsoft&#8217;ta ! ">SUDO&#8217;nun patenti Microsoft&#8217;ta ! </a><br /><small>Az önce SUDO dergisinde okuduğum bir haberle irkildim. Microsoft; Ubuntu, Pardus ve Linux Mint de dahil olmak üzere debian Linux dağıtımlarında ve Unix benzeri sistemde kullanılan Sudo komutunun çalış...</small></li><li><a href="http://mustak.org/scp-secure-copy-ile-dosya-transferi/" title="SCP &#8211; Secure Copy ile dosya transferi">SCP &#8211; Secure Copy ile dosya transferi</a><br /><small>O kadar görsel arayüz (gui) ile çalışmaya alıştık ki son dönemde, gerçekten belli kriz anlarında zorlanabiliyoruz. Az önce Grafik Desktop'tan SSH'a düşüp bu sıkıntıyla yüzleşince biranda afalladım. Bu...</small></li><li><a href="http://mustak.org/isletim-sistemi-iadesi/" title="İşletim sistemi iadesi">İşletim sistemi iadesi</a><br /><small>

Notebook alırken benimde yaşadığım bir sorundu bu. İnsanın basireti bağlanıyor denir ya, sanki mecburmuşuz gibi Microsoft ürünlerine kuzu kuzu kabullenip kaderimizi evin yolunu tutmuştuk. İlk haft...</small></li><li><a href="http://mustak.org/unity-lensleri/" title="Unity Lensleri">Unity Lensleri</a><br /><small> Dürüst olmalıyım ki Unity'e alışmam kolay olmadı. Yıllarca gnome kullandıktan sonra alışkanlıkları kolay kolay kıramıyor insan. Biraz ısrarcı olup (sevgili Redial'ında baskısıyla) Mint'e geçmeyerek s...</small></li><li><a href="http://mustak.org/ubuntu-linux-altinda-dns-ayarlamak/" title="Ubuntu / Linux altında DNS ayarlamak">Ubuntu / Linux altında DNS ayarlamak</a><br /><small>Blogu genel bir temizlikten geçirdikten sonra tekrar kurma ve konuları ekleme noktasında en şaşırdığım konulardan birisi bu DNS ayarlamak ve bu ayarları kalıcı kalıcı hale getirmek.  Blogların kaynak ...</small></li><li><a href="http://mustak.org/proxy-uzerinden-wget-kullanimi/" title="Proxy üzerinden wGet kullanımı">Proxy üzerinden wGet kullanımı</a><br /><small>Bir çok sebepten ötürü proxy kullanıyoruz günümüzde. Grafik desktop üzerinde iseniz browser üzerinde kullanmak oldukça basit ve etkilidir.  Peki eğer dosya çekmeniz gerek makinanızda grafik desktop ça...</small></li><li><a href="http://mustak.org/linux-altina-subversion-svn-kurulumu/" title="Linux altına Subversion (SVN) kurulumu">Linux altına Subversion (SVN) kurulumu</a><br /><small>Başta belirteyim; Konuyu ifade eden bir logo olmadığı için pengueni tercih ettim. Konumuz olan SVN, aynı anda birçok kullanıcı tarafından kod geliştirilmesini sağlayan bir versiyonlama sistemidir. Ne ...</small></li><li><a href="http://mustak.org/python-ag-uzerinde-dosya-kopyalayalim/" title="[Python] Ağ üzerinde dosya kopyalayalım">[Python] Ağ üzerinde dosya kopyalayalım</a><br /><small>

Windows makinem de, ağ üzerinde düzenli olarak almam ve belli periyodlarla kontrol etmem gereken dosyalar bulunuyor. Her dosya için periyodik ağda gezip kopyala/yapıştır/aç incele... bir noktadan ...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MySQL&#8217;i dışarıdan erişime açmak</title>
		<link>http://mustak.org/mysqli-disaridan-erisime-acmak/</link>
		<comments>http://mustak.org/mysqli-disaridan-erisime-acmak/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 19:00:25 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makale]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[flush privileges]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=147</guid>
		<description><![CDATA[Yazacak bir konu bulamamak ve yazmak istemek çok kısır, zor bir döngü. Allahdan eş-dost böyle anlarda yardıma koşuyorda konu buluyor insan. Az önce eski ve sevdiğim dostum Ömer bana Windows altında MySQL&#8217;e dışarıdan nasıl erişilebileceğini sordu. Tecrübe ile sabittir ki, bir kişi soruyorsa birçok insan da cevap arıyor, yada arayacaktır. Verelim cevabı; Önce belirtmeliyim ki [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1497 alignleft" style="margin-top: 1px; margin-bottom: 1px; margin-left: 8px; margin-right: 8px; border: 0px none currentColor;" title="mysql" src="http://www.mustak.org/wp-content/uploads/2010/03/mysql_med.png" alt="mysql_med" width="64" height="64" /> Yazacak bir konu bulamamak ve yazmak istemek çok kısır, zor bir döngü. Allahdan eş-dost böyle anlarda yardıma koşuyorda konu buluyor insan. Az önce eski ve sevdiğim dostum Ömer bana Windows altında MySQL&#8217;e dışarıdan nasıl erişilebileceğini sordu. Tecrübe ile sabittir ki, bir kişi soruyorsa birçok insan da cevap arıyor, yada arayacaktır. Verelim cevabı;</p>
<p><span id="more-147"></span>Önce belirtmeliyim ki ben işletim sistemi olarak Windows kullanmıyorum. Fakat Mysql kullanıcı paneline düşdükten sonra tüm OS&#8217;larda işlem aynı.</p>
<p>Linux kullananlar için shell üzerinde, (yada uzaktan bağlanıyorsanız ssh dan)</p>
<blockquote><p><strong><span style="color: #800000;"># mysql u- root -pPASSWORD</span></strong></p></blockquote>
<p>yazarak  MySql kullanıcı paneline giriyoruz. Sonra</p>
<blockquote><p><strong><span style="color: #800000;"># connect mysql</span></strong></p></blockquote>
<p>yazarak mysql database ile bir süre uğraşacağımızı belirtiyoruz</p>
<blockquote><p><strong><span style="color: #800000;">#  update user set Host = &#8216;%&#8217; where User = &#8216;root&#8217;;<br />
#  flush privileges;</span></strong></p></blockquote>
<p>yazıyoruz ve artık modemimizin NAT ayarlarından gerekli yönlendirmeyi yapmışsak (3306) MySQL&#8217;e lünux altında uzakdan erişebiliyoruz. (NAT konusu ayrı bir konu -bkz google amca)</p>
<p>Windowsda ise Başlat/Çalıştır&#8217;dan cmd yazıp açacağınız dos prompt&#8217;tan MySQL&#8217;in bulunduğu dizine gidiyoruz. Ben C:/mysql olduğunu varsayacağım;</p>
<blockquote><p><strong><span style="color: #800000;"># cd c:\mysql\bin<br />
# mysql.exe u- root -pPASSWOR</span></strong><strong><span style="color: #800000;">D</span></strong></p></blockquote>
<p>Sonra aynı komutları buraya da linuxdeki gibi yazacağız ;</p>
<blockquote><p><span style="color: #800000;"><strong># connect mysql<br />
# update user set Host = &#8216;%&#8217; where User = &#8216;root&#8217;;<br />
# flush privileges;</strong></span></p></blockquote>
<p>Böylece windows altında da  dışarı açmış olduk.</p>
<p>3. yöntem ise daha basit ve bence daha kullanışlı; phpmyadmin / Navicat / Mysql Workbench gibi uygulamalarla mysql veritabanı, mysql database, user table&#8217;ına bağlanıp üstteki işlemi elle manuel girmek</p>
<p>coşmak üzere&#8230;</p>
<p><span style="color: #888888;">Hakan Müştak</span></p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/" title="MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı">MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</a><br /><small>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python...</small></li><li><a href="http://mustak.org/fusioncharts-ile-rapor-sunumlari/" title="FusionCharts ile Rapor sunumları">FusionCharts ile Rapor sunumları</a><br /><small>
Özellikle seçim zamanlarında TV'lerde boy gösteren harika grafikleri görürsünüz. Birçok anket hizmeti veren şirket sistemine include ederek bir çok dille bu uygulamayı kullanırlar. Son zamanlarda HT...</small></li><li><a href="http://mustak.org/mukemmel-bir-mysql-clienti-navicat/" title="Mükemmel bir MySql clienti : Navicat ">Mükemmel bir MySql clienti : Navicat </a><br /><small>Uzun yıllar önce sadece web tabanlı MySql manager'lar bulunurken, günümüzde onlarca clientler bulunabilmekte. Ben bugün onlar arasında şahsen en iyi bulduğum bir örneği paylaşmak istedim. Uzun zamandı...</small></li><li><a href="http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/" title="Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım">Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım</a><br /><small>Son aylarda bir şekilde uzak kalmayı başarabilsemde, hep şartlar gereği şu grubu kurmak zorunda kalıyorum. Bu grubu nasıl kurduğumun detaylarını anlatmayacağım. Linux kullanan bireye bunu anlatmak ban...</small></li><li><a href="http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/" title="Pythonla MySql yedeği alıp mail atalım">Pythonla MySql yedeği alıp mail atalım</a><br /><small>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; "Düzenli Yedek Almak". Bir çok server yada site yönetic...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/mysqli-disaridan-erisime-acmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FusionCharts ile Rapor sunumları</title>
		<link>http://mustak.org/fusioncharts-ile-rapor-sunumlari/</link>
		<comments>http://mustak.org/fusioncharts-ile-rapor-sunumlari/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 19:30:39 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Framework]]></category>
		<category><![CDATA[Makale]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Uygulama]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fusion]]></category>
		<category><![CDATA[internet explorer bug]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=169</guid>
		<description><![CDATA[Özellikle seçim zamanlarında TV&#8217;lerde boy gösteren harika grafikleri görürsünüz. Birçok anket hizmeti veren şirket sistemine include ederek bir çok dille bu uygulamayı kullanırlar. Son zamanlarda HTML5 Chart Api&#8217;ninde popülerliğini kazanmasıyla hızını hafifçe kesen Fusion Charts&#8217;la nasıl güzel sunumlar yapılabileceğini sizlerle paylaşmak istiyorum. Uygulamada Apache 2.2.0, PHP 5.1.2 ve MySQL 5.0.18 kullandım. Bu dökümanı okuyanlarında bu [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="size-full wp-image-79 alignleft" style="border-style: initial; border-color: initial; border-image: initial; margin-top: 1px; margin-bottom: 1px; margin-left: 7px; margin-right: 7px; border-width: 0px;" title="logo" src="http://www.mustak.org/wp-content/uploads/2009/08/logo.jpg" alt="logo" width="269" height="49" /></p>
<p style="text-align: left;">Özellikle seçim zamanlarında TV&#8217;lerde boy gösteren harika grafikleri görürsünüz. Birçok anket hizmeti veren şirket sistemine include ederek bir çok dille bu uygulamayı kullanırlar. Son zamanlarda HTML5 Chart Api&#8217;ninde popülerliğini kazanmasıyla hızını hafifçe kesen Fusion Charts&#8217;la nasıl güzel sunumlar yapılabileceğini sizlerle paylaşmak istiyorum.</p>
<p style="text-align: left;">Uygulamada Apache 2.2.0, PHP 5.1.2 ve MySQL 5.0.18 kullandım. Bu dökümanı okuyanlarında bu uygulamalara az seviyede hakim olduğunu varsayarak ilerleyeceğim.</p>
<p style="text-align: left;">Başlamadan önce hazırladığım bileşenleri öncelikli olarak burada paylaşmak istiyorum; kendi bilgisayarınıza alıp, üzerinden deneyerek çalışmanız faydalı ve hızlı olacaktır.</p>
<p style="text-align: left;">Makale için hazırladığım örnekler (açılışını seyrediniz);<br />
1- <a href="http://mustak.org/work_dir/200908_fs/rapor_1.php" target="_blank">http://mustak.org/work_dir/200908_fs/rapor_1.php</a><br />
2-<a href="http://mustak.org/work_dir/200908_fs/rapor_2.php" target="_blank">http://mustak.org/work_dir/200908_fs/rapor_2.php</a></p>
<p style="text-align: left;"><span id="more-169"></span></p>
<p style="text-align: left;">Orjinal Sitesinde görebileceğiniz demo çalışmalar;<br />
<a href="http://www.fusioncharts.com/LiveDemos.asp" target="_blank">http://www.fusioncharts.com/LiveDemos.asp<br />
</a></p>
<p style="text-align: left;">Fusion Charts V3 resmi sitesi : <a href="http://www.fusioncharts.com" target="_blank">www.fusioncharts.com</a></p>
<h3 style="text-align: left;"><strong>&#8220;Let&#8217;s Go..!&#8221;</strong></h3>
<p style="text-align: left;">Demoyu yapabilmek için veritabanlarımda baktığım en uygun tablom 9200 rowdan oluşan,  3 kolonunda ilişki olan bir tablo. Bizim ilişkileri ile bir işimiz olmayacak (en azından bu örnekte).</p>
<p style="text-align: center;">Orjinal Tablomuzu;<br />
<a href="http://www.mustak.org/wp-content/uploads/2009/08/01_orj_table.jpg"><img class="size-full wp-image-85 aligncenter" style="border: 1px solid black; margin-top: 3px; margin-bottom: 3px;" title="01_orj_table" src="http://www.mustak.org/wp-content/uploads/2009/08/01_orj_table.jpg" alt="01_orj_table" width="365" height="131" /></a></p>
<p style="text-align: left;">Bu tablomuzda bulunan tarih kolonundaki verileri aylık olarak gruplayacak, kontrol ve problemli sayıların tutulduğu kolonları toplayacak ve oranlarını yuzde olarak hesaplatacağız.</p>
<p style="text-align: left;">Bunu tutan SQL cümlemizi ben aşağıdaki gibi derledim;</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/02_table_query.jpg"><img class="aligncenter size-full wp-image-86" style="border: 1px solid black; margin: 3px;" title="02_table_query" src="http://www.mustak.org/wp-content/uploads/2009/08/02_table_query.jpg" alt="02_table_query" width="616" height="82" /></a></p>
<p style="text-align: center;">Bu cümle sonucu mysql bana bu tabloyu üretti;</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/03_table2.jpg"><img class="size-full wp-image-87 aligncenter" style="border: 1px solid black; margin-top: 3px; margin-bottom: 3px;" title="03_table2" src="http://www.mustak.org/wp-content/uploads/2009/08/03_table2.jpg" alt="03_table2" width="244" height="180" /></a></p>
<p style="text-align: left;">Tablo işimizi çözdükten, cümlemizinde çalışırlığından emin olduktan sonra editöre geçip yapıyı kurmaya başlıyoruz. Uygulamanın manualini inceledikten sonra yaptığım onlar örnek ve sunduğum raporlar neticesinde kendime bu uygulama için bir standart geliştirdim. Yapıyıda burada bu şekilde kuracağım; bu yapıya göre önce xml üretecek olan dosyayı oluşturacağız ve daha sonra bunu grafik objesi ile birlikte anasayfamıza bağlayacağız.</p>
<p style="text-align: left;">XML dosyasının hazırlanışı ;</p>
<p style="text-align: left;">Aslında basit! <span>Enterprise License ile gelen manual de en ufak detayına kadar herşey anlatılmış. Bu manuali okursanız, bu makaleye da gerek olmadığını hissedersiniz. (amacım ilk demoda yaşayacağınız zorlukları en aza indirmek)</span></p>
<p style="text-align: left;"><span>XML dosyasında dinamik verileri tutmak, her istenen kriterde farklı rapor üretmek çok mühim. Bunun için ben önce kolonları bağlayacağım dizi değişkenlerimi tanımlıyorum;</span></p>
<p style="text-align: center;"><span><a href="http://www.mustak.org/wp-content/uploads/2009/08/04_development_01.jpg"><img class="aligncenter size-full wp-image-88" style="border: 1px solid black; margin: 3px;" title="04_development_01" src="http://www.mustak.org/wp-content/uploads/2009/08/04_development_01.jpg" alt="04_development_01" width="514" height="494" /></a><br />
</span></p>
<p style="text-align: left;">Dizilerimizi hazırladıktan sonra SQL cümlemizi ekliyoruz;</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/05_development_02.jpg"><img class="aligncenter size-full wp-image-89" style="border: 1px solid black; margin: 3px;" title="05_development_02" src="http://www.mustak.org/wp-content/uploads/2009/08/05_development_02.jpg" alt="05_development_02" width="521" height="95" /></a><br />
büyütmek için resmin üzerine tıklayın</p>
<p style="text-align: left;">Daha sonra SQL i çalıştırıp  döngümüzü oluşturuyor ve alınan değişkenleri dizilerimize, göstermek istediğimiz formatta ekliyoruz.</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/06_development_03.jpg"><img class="aligncenter size-full wp-image-90" style="border: 1px solid black; margin: 3px;" title="06_development_03" src="http://www.mustak.org/wp-content/uploads/2009/08/06_development_03.jpg" alt="06_development_03" width="588" height="241" /></a><br />
büyütmek için resmin üzerine tıklayın</p>
<p style="text-align: left;">Buraya kadar çektiğimiz verileri şimdi XML dosyasına entegre ediyoruz. Bu dosyadaki tagları manuel içersinde kullanacağınız grafiğe göre hazır çekebiliyorsunuz;</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/07_development_04.jpg"><img class="aligncenter size-full wp-image-91" style="border: 1px solid black; margin: 3px;" title="07_development_04" src="http://www.mustak.org/wp-content/uploads/2009/08/07_development_04.jpg" alt="07_development_04" width="615" height="322" /></a><br />
büyütmek için resmin üzerine tıklayın</p>
<p style="text-align: left;">Döküman kaydedip çalıştırdığınızda XML dosyasının görüntüsü -verilerden farklı olarak- aşağıdaki gibi olmalıdır.</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/08_XML_.jpg"><img class="aligncenter size-full wp-image-92" style="border: 1px solid black; margin: 3px;" title="08_XML_" src="http://www.mustak.org/wp-content/uploads/2009/08/08_XML_.jpg" alt="08_XML_" width="656" height="662" /></a></p>
<p style="text-align: left;">XML dosyasıyla işimiz bitti..! Bundan sonraki işimiz grafik objesini ve xml dosyasını birleştireceğimiz sayfayı hazırlamak. Bu dosya içinde bilgiler manual içinde detaylıca anlatılmaktadır. Bizim yapmamız gereken, Grafik objesi olan swf dosyası ile  hazırladığımız XML dosyasının lokasyonlarını uygun yerlere monte etmek.</p>
<p style="text-align: left;">Ben XML dosyalarımla view sayfamı aynı klasörde, grafikleri barındıran swf dosyalarımı ise charts adında bir alt klasörde tutuyorum</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/13_directory_3.jpg"><img class="size-full wp-image-108 alignnone" style="border: 1px solid black; margin: 3px;" title="13_directory_3" src="http://www.mustak.org/wp-content/uploads/2009/08/13_directory_3.jpg" alt="13_directory_3" width="330" height="166" /></a></p>
<p style="text-align: left;">Charts klasörü altında ise grafik objeleri bulunmaktadır;</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/11_directory_1.jpg"><img class="size-full wp-image-111 aligncenter" style="border: 1px solid black; margin-top: 3px; margin-bottom: 3px;" title="11_directory_1" src="http://www.mustak.org/wp-content/uploads/2009/08/11_directory_1.jpg" alt="11_directory_1" width="368" height="531" /></a></p>
<p style="text-align: left;">Bu klasör lokasyonları, kullanılacak grafik ismi ve id&#8217;si, hatta kullanılacak grafik ölçüleri için ben standarttan farklı bir değişken header&#8217;ı kullanıyorum, dizayn aşamasında heran birşeyleri değiştirmek için çok pratik oluyor ;</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2009/08/09_html.jpg"><img class="aligncenter size-full wp-image-93" style="border: 1px solid black; margin: 3px;" title="09_html" src="http://www.mustak.org/wp-content/uploads/2009/08/09_html.jpg" alt="09_html" width="638" height="329" /></a></p>
<p style="text-align: left;">Bunu da hazırladıktan sonra işimiz ; bu php sayfasını apache üzerinden çağırdığımızda, keyifle grafiğimizi izlemeye kalıyor.</p>
<p style="text-align: left;">Örnekler için tekrar etmek gerekirse,</p>
<p style="text-align: left;">Makale için hazırladığım örnekler (açılışını seyrediniz);<br />
1- <a href="http://mustak.org/work_dir/200908_fs/rapor_1.php" target="_blank">http://mustak.org/work_dir/200908_fs/rapor_1.php</a><br />
2-<a href="http://mustak.org/work_dir/200908_fs/rapor_2.php" target="_blank">http://mustak.org/work_dir/200908_fs/rapor_2.php</a></p>
<p>Orjinal Sitesinde görebileceğiniz demo çalışmalar;<br />
<a href="http://www.fusioncharts.com/LiveDemos.asp" target="_blank">http://www.fusioncharts.com/LiveDemos.asp</a></p>
<p style="text-align: left;">Her yiğidin yoğut yemesine paralel, her yazılımcınında geliştirmeye bakış açısı, kodu ve mimariyi hazırlaması farklıdır. Uzun zamandan sonra tekrar makale yazabilmek benim içinde eğlenceli oldu <img src='http://mustak.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;">Makalede kullanılan tüm grafik ve kodlar (hatta fazlası), sayfanın başında verdiğim linklerde bulunuyor. Bu uygulamada çalışırken Internet Explorerda farkettiğim bir bug; grafiklerin verilerinin refreshment yapmasını engelliyor, chart sizeları değiştirmiyor; ctrl+f5 / f5 de sorunu çözmüyor. Ben bunun için FireFox kullanıyorum, tavsiyede ederim.</p>
<p style="text-align: left;">Uygulama hernekadar basit olsada en ufak bir detayda bana ulaşabilirsiniz.</p>
<p style="text-align: left;"><span style="color: #888888;">Hakan Müştak</span></p>
<p style="text-align: left;"><span style="color: #888888;">Not : Kırık link bilgileri sebebiyle siteye eklemek zorunda kaldığım eski makalemdir. </span></p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/" title="Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım">Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım</a><br /><small>Son aylarda bir şekilde uzak kalmayı başarabilsemde, hep şartlar gereği şu grubu kurmak zorunda kalıyorum. Bu grubu nasıl kurduğumun detaylarını anlatmayacağım. Linux kullanan bireye bunu anlatmak ban...</small></li><li><a href="http://mustak.org/php-kullanarak-oraclea-baglanalim/" title="PHP kullanarak Oracle’a bağlanalım">PHP kullanarak Oracle’a bağlanalım</a><br /><small>Birlikte çalıştığım ve çalışmaktan çok zevk aldığım bir büyüğümün ihtiyacı gereği, bugüne kadar hiç ihtiyaç duymasam da Oracle’a PHP kullanarak bağlanmam gerekti.  Tabi kolları sıvadık...



Önce ...</small></li><li><a href="http://mustak.org/codeigniter-framework-kullanan-sitemize-rss-hazirlayalim/" title="CodeIgniter Framework kullanan sitemize RSS hazırlayalım">CodeIgniter Framework kullanan sitemize RSS hazırlayalım</a><br /><small>RSS listeleri birçoğumuz için inanılmaz kolaylık sağlamakta. Şahsen ben bu şekilde yüzlerce sitenin güncelliğini tek merkezden kontrol edebiliyorum. Hazırda RSS den girmişken aklıma gelenleri kaynak o...</small></li><li><a href="http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/" title="Pythonla MySql yedeği alıp mail atalım">Pythonla MySql yedeği alıp mail atalım</a><br /><small>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; "Düzenli Yedek Almak". Bir çok server yada site yönetic...</small></li><li><a href="http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/" title="MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı">MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</a><br /><small>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python...</small></li><li><a href="http://mustak.org/php-de-3-gun-once-5-gun-sonra-nasil-bulunur/" title="PHP de 3 gün önce 5 gün sonra nasıl bulunur?">PHP de 3 gün önce 5 gün sonra nasıl bulunur?</a><br /><small>Bir arkadaşımızdan az önce mail aldım.  Mailinde bana, girilen tarihden 12 gün önceki tarihi nasıl bulurum diye sormuş. Cevabı burada yazarak bu konuda takılan başka arkadaşlarında sorununu bir seferd...</small></li><li><a href="http://mustak.org/php-simplexml-ile-rss-cekelim/" title="PHP SimpleXML ile RSS çekelim">PHP SimpleXML ile RSS çekelim</a><br /><small>

RSS, internet siteleri tarafından yayınlanan içeriklerin ortak standart bir formatla izlenebilmesini sağlayan içerik besleme yöntemidir. RSS – Real Simple Syndication, RDF Site Summary veya Rich S...</small></li><li><a href="http://mustak.org/mysqli-disaridan-erisime-acmak/" title="MySQL&#8217;i dışarıdan erişime açmak">MySQL&#8217;i dışarıdan erişime açmak</a><br /><small> Yazacak bir konu bulamamak ve yazmak istemek çok kısır, zor bir döngü. Allahdan eş-dost böyle anlarda yardıma koşuyorda konu buluyor insan. Az önce eski ve sevdiğim dostum Ömer bana Windows altında M...</small></li><li><a href="http://mustak.org/codeigniter-ile-htaccess-sorunsali/" title="CodeIgniter ile .htaccess sorunsalı">CodeIgniter ile .htaccess sorunsalı</a><br /><small>PHP ile Framework konusunda CodeIgniter tahmin ettiğimden çok daha başarılı çıktı. Yeni sezona hazırladığımız projemizle ilgili çalışmalarımızda, gerek kodlama yapısının esnekliği, gerekse kendi hazır...</small></li><li><a href="http://mustak.org/mukemmel-bir-mysql-clienti-navicat/" title="Mükemmel bir MySql clienti : Navicat ">Mükemmel bir MySql clienti : Navicat </a><br /><small>Uzun yıllar önce sadece web tabanlı MySql manager'lar bulunurken, günümüzde onlarca clientler bulunabilmekte. Ben bugün onlar arasında şahsen en iyi bulduğum bir örneği paylaşmak istedim. Uzun zamandı...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/fusioncharts-ile-rapor-sunumlari/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mükemmel bir MySql clienti : Navicat</title>
		<link>http://mustak.org/mukemmel-bir-mysql-clienti-navicat/</link>
		<comments>http://mustak.org/mukemmel-bir-mysql-clienti-navicat/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 10:00:15 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Uygulama]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[navicat]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=145</guid>
		<description><![CDATA[Uzun yıllar önce sadece web tabanlı MySql manager&#8217;lar bulunurken, günümüzde onlarca clientler bulunabilmekte. Ben bugün onlar arasında şahsen en iyi bulduğum bir örneği paylaşmak istedim. Uzun zamandır hem local makinemde çalışan MySql&#8217;e, hemde external veritabanlarıma Navicat kullanarak bağlanmaktayım. Son versiyonunda Postgre ve Oracle desteği ile bana göre gerçekten muhteşem işler başarmış görünüyor. Navicatle veritabanınızı yaratabilir, table [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1868" style="margin-top: 1px; margin-bottom: 1px; margin-left: 10px; margin-right: 10px;" title="navicat" src="http://www.mustak.org/wp-content/uploads/2010/10/navicat.jpg" alt="navicat" width="62" height="62" />Uzun yıllar önce sadece web tabanlı MySql manager&#8217;lar bulunurken, günümüzde onlarca clientler bulunabilmekte. Ben bugün onlar arasında şahsen en iyi bulduğum bir örneği paylaşmak istedim. Uzun zamandır hem local makinemde çalışan MySql&#8217;e, hemde external veritabanlarıma Navicat kullanarak bağlanmaktayım. Son versiyonunda Postgre ve Oracle desteği ile bana göre gerçekten muhteşem işler başarmış görünüyor.</p>
<p><span id="more-145"></span>Navicatle veritabanınızı yaratabilir, table ve kolonlarınızı oluşturabilirsiniz, veritabanı ve table&#8217;larınızın tasarım çıktılarını alabilirsiniz.<br />
Query desing bölümü ile sql cümlelerinizi dinamik ve snippet desteği ile yazar, isterseniz görsel olarak ilişkilerinizi kurgular, üzerinden navicatin cümlelerinizi oluşturmasını sağlayabilirsiniz.<br />
Bu querylerinizi veritabanınızla birlikte isimlendirip saklayabilirsiniz.<br />
Takvime bağlı düzenli backup alınmasını sağlayabilirsiniz.<br />
Veritabanlarına kullanıcılarınızı atayıp, görsel olarak yetkilerini ayarlayabilirsiniz<br />
Data senkronizasyon, structer, dump gibi işlerinizi basitçe yapabilirsiniz.<br />
Veritabanınızı incelemek üzere raporlar oluşturabilirsiniz.<br />
SQL scriptler bir yana farklı vertabanlarından (hatta excel, txt) akıllı import ve export yapabilirsiniz.</p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2010/10/navicat.png" target="_blank"><img class="size-full wp-image-1871 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="navicat" src="http://www.mustak.org/wp-content/uploads/2010/10/navicat.png" alt="navicat" width="525" height="364" /></a></p>
<p style="text-align: center;"><a href="http://www.mustak.org/wp-content/uploads/2010/10/navicatmysql.gif" target="_blank"><img class="size-full wp-image-1872 aligncenter" style="margin-top: 10px; margin-bottom: 10px; border: 1px solid black;" title="navicatmysql" src="http://www.mustak.org/wp-content/uploads/2010/10/navicatmysql.gif" alt="navicatmysql" width="546" height="516" /></a><a href="http://www.mustak.org/wp-content/uploads/2010/10/1.png"><img class="size-full wp-image-1873 aligncenter" style="margin-top: 10px; margin-bottom: 10px; border: 1px solid black;" title="1" src="http://www.mustak.org/wp-content/uploads/2010/10/1.png" alt="1" width="540" height="399" /></a><a href="http://www.mustak.org/wp-content/uploads/2010/10/NavicatImportWiz.jpg" target="_blank"><img class="size-full wp-image-1874 aligncenter" style="margin-top: 10px; margin-bottom: 10px; border: 1px solid black;" title="NavicatImportWiz" src="http://www.mustak.org/wp-content/uploads/2010/10/NavicatImportWiz.jpg" alt="NavicatImportWiz" width="500" height="97" /></a></p>
<p style="text-align: left;">Bir geliştirici için diğer clientlerden ayrılan oldukça pozitif özellikleri olan, çok avantajını yaşadığım, piyasada bulunan birçok clientten ayırlan özellikleri ile öne çıkan bu uygulamayı en azından denemenizi öneririm.</p>
<p style="text-align: left;"><span style="color: #888888;"><em>Hakan Müştak</em></span></p>
<p style="text-align: left;"><span style="color: #888888;"><em><br />
</em></span></p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/" title="MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı">MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</a><br /><small>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python...</small></li><li><a href="http://mustak.org/isletim-sistemi-iadesi/" title="İşletim sistemi iadesi">İşletim sistemi iadesi</a><br /><small>

Notebook alırken benimde yaşadığım bir sorundu bu. İnsanın basireti bağlanıyor denir ya, sanki mecburmuşuz gibi Microsoft ürünlerine kuzu kuzu kabullenip kaderimizi evin yolunu tutmuştuk. İlk haft...</small></li><li><a href="http://mustak.org/mysqli-disaridan-erisime-acmak/" title="MySQL&#8217;i dışarıdan erişime açmak">MySQL&#8217;i dışarıdan erişime açmak</a><br /><small> Yazacak bir konu bulamamak ve yazmak istemek çok kısır, zor bir döngü. Allahdan eş-dost böyle anlarda yardıma koşuyorda konu buluyor insan. Az önce eski ve sevdiğim dostum Ömer bana Windows altında M...</small></li><li><a href="http://mustak.org/fusioncharts-ile-rapor-sunumlari/" title="FusionCharts ile Rapor sunumları">FusionCharts ile Rapor sunumları</a><br /><small>
Özellikle seçim zamanlarında TV'lerde boy gösteren harika grafikleri görürsünüz. Birçok anket hizmeti veren şirket sistemine include ederek bir çok dille bu uygulamayı kullanırlar. Son zamanlarda HT...</small></li><li><a href="http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/" title="Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım">Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım</a><br /><small>Son aylarda bir şekilde uzak kalmayı başarabilsemde, hep şartlar gereği şu grubu kurmak zorunda kalıyorum. Bu grubu nasıl kurduğumun detaylarını anlatmayacağım. Linux kullanan bireye bunu anlatmak ban...</small></li><li><a href="http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/" title="Pythonla MySql yedeği alıp mail atalım">Pythonla MySql yedeği alıp mail atalım</a><br /><small>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; "Düzenli Yedek Almak". Bir çok server yada site yönetic...</small></li><li><a href="http://mustak.org/windows-7-disk-bolumleme/" title="Windows 7 Disk Bölümleme">Windows 7 Disk Bölümleme</a><br /><small>Hiç hazetmesemde, şartlar gereği yeni diskime kurduğum windows 7 üzerinde Partition Magic'in çalışmaması cidden bir sıkıntı oluşturdu. Eski köye yeni adetler! Önceki makinemde alan sıkıntım olmadığı i...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/mukemmel-bir-mysql-clienti-navicat/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım</title>
		<link>http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/</link>
		<comments>http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 22:54:16 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Makale]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[a2dismod]]></category>
		<category><![CDATA[a2enmod]]></category>
		<category><![CDATA[all-in-one]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Ctrl+Alt+T]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[kurulum]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[suexec]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=136</guid>
		<description><![CDATA[Son aylarda bir şekilde uzak kalmayı başarabilsemde, hep şartlar gereği şu grubu kurmak zorunda kalıyorum. Bu grubu nasıl kurduğumun detaylarını anlatmayacağım. Linux kullanan bireye bunu anlatmak bana &#8220;garip&#8221; geliyor; bu sebeple direk kurulum cümlelerimi paylaşacağım. Hikayemize başlamadan önce belirtmeliyimki aynı sıra ile yazılım merkezlerinden, uygulamaların sitelerinden indirmek suretiyle de yüklememiz mümkün. Biz terminal aracılığı ile [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft  wp-image-30" style="border-style: initial; border-color: initial; border-image: initial; margin-top: 1px; margin-bottom: 1px; margin-left: 10px; margin-right: 10px; border-width: 0px;" title="PHP" src="http://mustak.org/wp-content/uploads/2012/01/php.png" alt="" width="51" height="51" />Son aylarda bir şekilde uzak kalmayı başarabilsemde, hep şartlar gereği şu grubu kurmak zorunda kalıyorum. Bu grubu nasıl kurduğumun detaylarını anlatmayacağım. Linux kullanan bireye bunu anlatmak bana &#8220;garip&#8221; geliyor; bu sebeple direk kurulum cümlelerimi paylaşacağım.</p>
<p><span id="more-136"></span></p>
<p>Hikayemize başlamadan önce belirtmeliyimki aynı sıra ile yazılım merkezlerinden, uygulamaların sitelerinden indirmek suretiyle de yüklememiz mümkün. Biz terminal aracılığı ile yapacağız bu işlemi.</p>
<p>Önce Ctrl+Alt+T kombinasyonu ile terminali açıyoruz. Kurulum için Admin yetkilerini almamız gerekiyor, bunun için;<br />
<span style="color: #800000;"><strong># sudo su</strong></span></p>
<h3>Apache ve PHP kurulumu (All-in-One);</h3>
<p>Önce Apache için alttaki metni yazıyoruz;</p>
<blockquote><p><strong><span style="color: #800000;"># apt-get install libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp </span></strong></p></blockquote>
<p>İstediğimiz modüllerle birlikte Apache&#8217;yi kurduk. Fakat göreceksiniz ki bazı modüller devrede değil. Bu modülleri çalışır hale getirmemiz lazım. Modülleri çalışabilir hale getirmek için <strong><span style="color: #800000;">a2enmod</span></strong>, devre dışı bırakmak içinse <strong><span style="color: #800000;">a2dismod</span></strong> komutlarını kullanıyoruz. Örnek olması için rewrite komutunu çalışabilir yapalım;</p>
<blockquote><p><span style="color: #800000;"><strong># a2enmod rewrite</strong></span></p></blockquote>
<p>Kurulum startup&#8217;ında benim tercihim ise şu yönde;</p>
<blockquote><p><span style="color: #800000;"><strong># a2enmod rewrite</strong></span><br />
<span style="color: #800000;"><strong># a2enmod suexec<br />
<strong># a2enmod include</strong><br />
<strong># a2enmod curl</strong> </strong></span></p></blockquote>
<h3>MySQL kurulumu;</h3>
<p>Üstte kurulum sırasındaki &#8220;next/next&#8221; noktalarından bahsetmeyeceğimi belirtmiştim. Fakat uyarıda da bulunmak istiyorum; MySQL kurulumu sırasında vereceğiniz Root şifrenizi mutlaka biryere kaydedin. Root şifresini resetlemek mümkün olsada, 2. bir işe ne gerek var?</p>
<p>Kurulum için gereken cümlemiz şöyle;</p>
<blockquote><p><strong><span style="color: #800000;"># apt-get install mysql-server mysql-client libmysqlclient15-dev</span></strong></p></blockquote>
<div>
<h3>PhpMyAdmin kurulumu;</h3>
<div>
<p>Kurulum için gereken cümlemiz şöyle;</p>
<blockquote><p><span style="color: #800000;"><strong># apt-get install phpmyadmin</strong></span></p></blockquote>
<p><strong>http://localhost/</strong> ile local sitenize, <strong>http://localhost/phpmyadmin</strong> ie de güncel phpmyadmin uygulamanıza ulaşabilirsiniz.</p>
<div>Bir soru yada sorunda iletişim kurabilirsiniz.</div>
<div></div>
<div></div>
</div>
</div>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/fusioncharts-ile-rapor-sunumlari/" title="FusionCharts ile Rapor sunumları">FusionCharts ile Rapor sunumları</a><br /><small>
Özellikle seçim zamanlarında TV'lerde boy gösteren harika grafikleri görürsünüz. Birçok anket hizmeti veren şirket sistemine include ederek bir çok dille bu uygulamayı kullanırlar. Son zamanlarda HT...</small></li><li><a href="http://mustak.org/php-kullanarak-oraclea-baglanalim/" title="PHP kullanarak Oracle’a bağlanalım">PHP kullanarak Oracle’a bağlanalım</a><br /><small>Birlikte çalıştığım ve çalışmaktan çok zevk aldığım bir büyüğümün ihtiyacı gereği, bugüne kadar hiç ihtiyaç duymasam da Oracle’a PHP kullanarak bağlanmam gerekti.  Tabi kolları sıvadık...



Önce ...</small></li><li><a href="http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/" title="MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı">MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</a><br /><small>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python...</small></li><li><a href="http://mustak.org/php-de-3-gun-once-5-gun-sonra-nasil-bulunur/" title="PHP de 3 gün önce 5 gün sonra nasıl bulunur?">PHP de 3 gün önce 5 gün sonra nasıl bulunur?</a><br /><small>Bir arkadaşımızdan az önce mail aldım.  Mailinde bana, girilen tarihden 12 gün önceki tarihi nasıl bulurum diye sormuş. Cevabı burada yazarak bu konuda takılan başka arkadaşlarında sorununu bir seferd...</small></li><li><a href="http://mustak.org/codeigniter-framework-kullanan-sitemize-rss-hazirlayalim/" title="CodeIgniter Framework kullanan sitemize RSS hazırlayalım">CodeIgniter Framework kullanan sitemize RSS hazırlayalım</a><br /><small>RSS listeleri birçoğumuz için inanılmaz kolaylık sağlamakta. Şahsen ben bu şekilde yüzlerce sitenin güncelliğini tek merkezden kontrol edebiliyorum. Hazırda RSS den girmişken aklıma gelenleri kaynak o...</small></li><li><a href="http://mustak.org/mysqli-disaridan-erisime-acmak/" title="MySQL&#8217;i dışarıdan erişime açmak">MySQL&#8217;i dışarıdan erişime açmak</a><br /><small> Yazacak bir konu bulamamak ve yazmak istemek çok kısır, zor bir döngü. Allahdan eş-dost böyle anlarda yardıma koşuyorda konu buluyor insan. Az önce eski ve sevdiğim dostum Ömer bana Windows altında M...</small></li><li><a href="http://mustak.org/codeigniter-ile-htaccess-sorunsali/" title="CodeIgniter ile .htaccess sorunsalı">CodeIgniter ile .htaccess sorunsalı</a><br /><small>PHP ile Framework konusunda CodeIgniter tahmin ettiğimden çok daha başarılı çıktı. Yeni sezona hazırladığımız projemizle ilgili çalışmalarımızda, gerek kodlama yapısının esnekliği, gerekse kendi hazır...</small></li><li><a href="http://mustak.org/mukemmel-bir-mysql-clienti-navicat/" title="Mükemmel bir MySql clienti : Navicat ">Mükemmel bir MySql clienti : Navicat </a><br /><small>Uzun yıllar önce sadece web tabanlı MySql manager'lar bulunurken, günümüzde onlarca clientler bulunabilmekte. Ben bugün onlar arasında şahsen en iyi bulduğum bir örneği paylaşmak istedim. Uzun zamandı...</small></li><li><a href="http://mustak.org/eclipse-uzerinde-aptana-keyfi/" title="Eclipse üzerinde Aptana keyfi">Eclipse üzerinde Aptana keyfi</a><br /><small>Belli uygulamalar dışında kullanmadığım Eclipse ve sıklıkla kullandığım Netbeans ve Spyder arasında gider gelirim. Zaman zaman oranları değişsede bu grup dışına kolay kolay çıkamıyorum. Biraz da alışk...</small></li><li><a href="http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/" title="Pythonla MySql yedeği alıp mail atalım">Pythonla MySql yedeği alıp mail atalım</a><br /><small>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; "Düzenli Yedek Almak". Bir çok server yada site yönetic...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pythonla MySql yedeği alıp mail atalım</title>
		<link>http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/</link>
		<comments>http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 17:06:42 +0000</pubDate>
		<dc:creator>hmustak</dc:creator>
				<category><![CDATA[Makale]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[attach]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[dumper]]></category>
		<category><![CDATA[ek]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://mustak.org/?p=74</guid>
		<description><![CDATA[Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; &#8220;Düzenli Yedek Almak&#8221;. Bir çok server yada site yöneticisi kendine has yöntemlerle bu sorunu çözüyor. Server yöneticisi olmaya filan gerekte yok, kendi makinemizde backup ihtiyacı sürekli duymaktayız. Benzer bir sıkıntıyı dün akşam çok sevdiğim bir dostum [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://mustak.org/wp-content/uploads/2012/02/Python_hmustak.png"><img class="alignleft  wp-image-79" style="border-style: initial; border-color: initial; border-image: initial; margin-top: 1px; margin-bottom: 1px; margin-left: 6px; margin-right: 6px; border-width: 0px;" title="Python Logo" src="http://mustak.org/wp-content/uploads/2012/02/Python_hmustak.png" alt="" width="54" height="54" /></a>Konumuz Pythonun faydalarından en üst seviyede faydalanmak! Zaman zaman birçok kişinin ihtiyaç duyduğu, aradığı ve sıkıntılar yaşadığı bir konu; &#8220;Düzenli Yedek Almak&#8221;. Bir çok server yada site yöneticisi kendine has yöntemlerle bu sorunu çözüyor. Server yöneticisi olmaya filan gerekte yok, kendi makinemizde backup ihtiyacı sürekli duymaktayız. Benzer bir sıkıntıyı dün akşam çok sevdiğim bir dostum yaşadı. Bende verdiğim söz üzerine ufak bir betik hazırladım. Birde şu olsun, birde bu olsun derken aşağıdaki kod ortaya çıktı. Maqas ekibi olarak kendi aramızda sohbet ederken bunun da yeterli olmadığını uygun zamanda başka yazı dizileri ile bu scripti geliştirmemiz gerektiğini düşündük.</p>
<p><span id="more-74"></span></p>
<p>Yeni başlayan arkadaşların kurcalayarak  öğrenebilecekleri, kendi kodlarını geliştirebilecekleri şekilde hazırlanmıştır. Sınıf ve prosedürleri işin içine katarak daha pratik ve anlaşılır hale zamanla hepbirlikte getirecek ve geliştireceğiz.</p>
<p>Aşağıda paylaştığım python betiği; MySQL altında bulunan PhpMyAdmin database&#8217;inizi *.sql olarak dump ediyor, *gz olarak sıkıştırıyor, mail&#8217;e ekliyor ve gmail hesabınıza gönderiyor.  Tabi tüm bu işlemleri yapması için 19. satır ile 33. satır arasında gördüğünüz ayar değerlerini kendinize göre değiştirmeniz gerekmektedir. Bunun dışında betik içinde aldığım notlar kodun okunmasını gayet iyi yönlendirmektedir.</p>
<p>Tabi belirtmekte fayda var, ben bu kodu GNU/Linux altında 2 farklı sürümde denedim. Windows makinem (sanal&amp;gerçek) olmadığı için deneme şansım olmadı. Windowsta deneyen ve sorun yaşaan arkadaşlar olursa peşinen kusura bakmasınlar.</p>
<pre class="brush: python; title: ; notranslate">

#!/usr/bin/env python

#-*-coding:utf-8-*-

#---------------------------------
# MaqaSQLDumper V1.0
# @author: Maqas.net - hmustak'2012
# @mail : hmustak@gmail.com
#---------------------------------

# Betik içinde İhtiyaç duyduğumuz paketleri ekliyoruz
import datetime, os, time, smtplib

from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import encoders

# MySQL Bilgileri
dbUser = &quot;root&quot;
dbPasswd = &quot;1234567890!&quot;
dbName = &quot;phpmyadmin&quot;

# Mail Bilgileri
mailUser = &quot;hakan_mustak_xyz&quot;
mailPasswd = &quot;1233321!+%&amp;amp;&quot;
mailFrom=&quot;hmustakxyz@gmail.com&quot;
mailTo=&quot;hmustakxyz@gmail.com&quot;

# Backup Bilgileri
backupPath = &quot;/home/redshark/backup/mysql/&quot;
backupFileName = &quot;%s_%s_SQL_backup.sql&quot; % (datetime.date.today().strftime(&quot;%Y-%m-%d&quot;),dbName)

# Backup için klasörü kontrol ediyoruz.
if os.path.isdir(backupPath) == False :
print &quot;[Sorun var] Dosyanı hazırlanacağı yol bulunamıyor&quot;
os.mkdir(backupPath)
print &quot;[Sorun Giderildi] Backup dizini yaratıldı =&amp;gt; %s&quot; % backupPath

#MysqlDump komutumuzu işleterek sql dosyamızı oluşturuyoruz
os.system(&quot;mysqldump -u%s -p%s %s&amp;gt;%s%s&quot; % (dbUser, dbPasswd, dbName, backupPath, backupFileName))
#Oluşturduğumuz sql dosyamızı sıkıştırıyoruz
os.system(&quot;gzip %s%s&quot; % (backupPath, backupFileName))
print &quot;[Tamamlandı] Backup ve sıkıştırma işlemleri&quot;

#MIMEMultipartı hazırlamaya başlıyoruz
posta = MIMEMultipart()
posta['Subject']=&quot;SQL Backup : %s &quot; % backupFileName
posta['From']=mailFrom
posta['To']=mailTo
mesaj= &quot;Veritabanınız %sismi ile yedeklenmiştir. \nBackup yolu : %s&quot; % (backupFileName,backupPath)
posta.attach(MIMEText(mesaj))

#Ekleyeceğimiz dosyayı hazırlıyoruz
ekSql = MIMEBase(&quot;application&quot;, &quot;octet-stream&quot;)
ekSql.set_payload(open(backupPath+backupFileName+&quot;.gz&quot;, &quot;rb&quot;).read())
encoders.encode_base64(ekSql)
ekSql.add_header(&quot;Content-Disposition&quot;, &quot;attachment&quot;, filename=os.path.basename(backupPath+backupFileName+&quot;.gz&quot;))
posta.attach(ekSql)

#Mail göndermek üzere gmaile bağlanıyoruz (Günlük limit 500)
smtpserver = smtplib.SMTP(&quot;smtp.gmail.com&quot;,587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(mailUser, mailPasswd)
smtpserver.sendmail(mailUser, mailTo, posta.as_string())
print &quot;[Gönderildi] Yöneticiye bilgilendirme maili&quot;
smtpserver.close()
print &quot;*** Backup işlemi tamamlanmıştır ***&quot;
print &quot;Backup =&amp;gt; %s%s%s&quot; % (backupPath, backupFileName, &quot;gz&quot;)
</pre>
<p>Hepsi bu kadar. Bundan sonra ilk yapacağımız iş; bu betiğin cron ile düzenli çalışmasını sağlamak ve son 1 haftalık yedekler dışındakileri silmesini sağlamak.</p>
<p>Saygı ve Sevgiyle<br />
Hakan Müştak</p>
<p>Teknik uyarı  : Eski blogumdaki kaynak makalelerimi, tekrar yeni bloguma ekliyorum. Yeni bir yazı değildir.</p>
<h2  class="related_post_title"><br><br>Okumanızı önerdiğim benzer yayınlarım;</h2><ul class="related_post"><li><a href="http://mustak.org/maqasqldumper-v2-mysql-ve-web-dizini-yedekleme-araci/" title="MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı">MaqaSQLDumper V2 &#8211; MySQL ve Web Dizini yedekleme aracı</a><br /><small>Geçen hafta içinde serverını baştan kurmak zorunda olan ve siteleri yayınlanan bir arkadaşıma (bizim sitelerde kendisinde) alelacele bir backup scripti yazmış ve blogumdan BURADA yayınlamıştım. Python...</small></li><li><a href="http://mustak.org/python-mysql-uzerinde-tum-databaselerimizi-yedekleyelim/" title="[Python] Mysql üzerinde tüm databaselerimizi yedekleyelim">[Python] Mysql üzerinde tüm databaselerimizi yedekleyelim</a><br /><small>Akşam uyuma hazırlığı yaparken, sitelerimin ev sahipliğini yapan arkadaşım daha önce yazdığım veritabanı yedekleme ile ilgili yazımın yetersizliğinden bahsedince uykum kaçtı. Haklıydı, o günün ihtiyac...</small></li><li><a href="http://mustak.org/fusioncharts-ile-rapor-sunumlari/" title="FusionCharts ile Rapor sunumları">FusionCharts ile Rapor sunumları</a><br /><small>
Özellikle seçim zamanlarında TV'lerde boy gösteren harika grafikleri görürsünüz. Birçok anket hizmeti veren şirket sistemine include ederek bir çok dille bu uygulamayı kullanırlar. Son zamanlarda HT...</small></li><li><a href="http://mustak.org/python-ag-uzerinde-dosya-kopyalayalim/" title="[Python] Ağ üzerinde dosya kopyalayalım">[Python] Ağ üzerinde dosya kopyalayalım</a><br /><small>

Windows makinem de, ağ üzerinde düzenli olarak almam ve belli periyodlarla kontrol etmem gereken dosyalar bulunuyor. Her dosya için periyodik ağda gezip kopyala/yapıştır/aç incele... bir noktadan ...</small></li><li><a href="http://mustak.org/mysqli-disaridan-erisime-acmak/" title="MySQL&#8217;i dışarıdan erişime açmak">MySQL&#8217;i dışarıdan erişime açmak</a><br /><small> Yazacak bir konu bulamamak ve yazmak istemek çok kısır, zor bir döngü. Allahdan eş-dost böyle anlarda yardıma koşuyorda konu buluyor insan. Az önce eski ve sevdiğim dostum Ömer bana Windows altında M...</small></li><li><a href="http://mustak.org/mukemmel-bir-mysql-clienti-navicat/" title="Mükemmel bir MySql clienti : Navicat ">Mükemmel bir MySql clienti : Navicat </a><br /><small>Uzun yıllar önce sadece web tabanlı MySql manager'lar bulunurken, günümüzde onlarca clientler bulunabilmekte. Ben bugün onlar arasında şahsen en iyi bulduğum bir örneği paylaşmak istedim. Uzun zamandı...</small></li><li><a href="http://mustak.org/linux-uzerine-apachephpmysqlphpmyadmin-kuralim/" title="Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım">Linux üzerine Apache+PHP+MySQL+phpmyadmin kuralım</a><br /><small>Son aylarda bir şekilde uzak kalmayı başarabilsemde, hep şartlar gereği şu grubu kurmak zorunda kalıyorum. Bu grubu nasıl kurduğumun detaylarını anlatmayacağım. Linux kullanan bireye bunu anlatmak ban...</small></li><li><a href="http://mustak.org/pythonla-ip-adreslerimizi-ogrenelim/" title="Pythonla IP adreslerimizi öğrenelim">Pythonla IP adreslerimizi öğrenelim</a><br /><small>Kullandığım modem sebebiyle ipconfig ve iwconfigle external IP adresimi göremiyorum. Sürekli eklenti ve pluginler kullanmakta açıkcası canımı sıktı. Ne yapabilirim diye düşünürken konu yazmaya bahane ...</small></li></ul>]]></content:encoded>
			<wfw:commentRss>http://mustak.org/pythonla-mysql-yedegi-alip-mail-atalim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

