Mysqldump ile Yedek Almak

Birçok kontrol paneli üzerinde mysql yedeğinizi alabilmeniz için gerekli araçlar bulunmaktadır ve mysql yedeği almak oldukça basittir.Bu yazımızda mysql yedeğinimizi komut ile nasıl alırız bunun hakkında sizlere bilgi vereceğiz.

cPanel’de mysql veri tabanları /var/lib/mysql dizini içerisinde bulunmaktadır.Herhangi bir sitenin yedeğini alabilmek için öncelikle bu dizine giriş yapmanız gerekir.Öncelikle aşağıdaki komutlar ile veri tabanlarının bulunduğu dizine giriş yapıyoruz.

Komut ile mysql yedeği alabilmek için sunucunun mysql şifresine ihtiyacınız olacaktır.Bu şifreyi de aşağıdaki komut ile ekrana basıyoruz.

Şifremizi ekrana bastıktan sonra artık mysql yedeğimizi alabiliriz.Bu işlem için aşağıdaki komutu uygulamanız gerekir.

Komutu çalıştırdığınızda sizden şifre isteyecektir.Ekrana basmış olduğumuz mysql şifresini kopyalayıp yapıştırdıktan sonra Enter tuşu ile onay veriyoruz.Onay verdikten sonra işlem yapmaya başlayacaktır ve komut satırı pasif hale gelecektir.Mysql yedeği aldıktan sonra tekrar komut satırı aktif olacaktır.İşlem tamamlandıktan sonra tekrar ll komutu ile içerikleri listeleyebilir ve yedek.sql olarak almış olduğunuz yedeği görebilirsiniz.

Yedek Restore Etmek

Elinizde daha önce alınan bir mysql yedeği var ise ve bu mysql yedeğini import etmek istiyorsanız aşağıdaki komutları kullanmanız gerekir.Yedek restore işlemi sırasında da sunucu mysql şifresi gerektiği için yine öncelikle şifremizi ekrana basıp daha sonra işlem yapıyoruz.

Komutu uyguladıktan sonra yine şifremizi girip Enter tuşu ile onaylıyoruz ve işlemin bitmesini bekliyoruz.İşlem tamamlandıktan sonra veri tabanı import edilmiş olacaktır.

SSH Üzerinden Database Onarma (MySQL Repair)

Büyük boyutlu MySQL veritabanı dosyalarında phpMyAdmin yada kontrol paneli üzerinden yapılan onarma işlemleri tamamlanmıyor yada sorunlar çıkartıyor. Bu nedenle boyutu büyük olan MySQL veritabanınızı Linux sunucularda SSH üzerinden onarma yapmak daha sağlıklıdır.

Bunun için SSH bağlantısı yapın ve superuser (root) olduğunuzdan emin olun. Alttaki komutu komut satırına yazın.

mysqlcheck veritabanı kontrol etmek için kullanılan komuttur. -r parametresi ise Repair (onarma) işlemi yapar.

Eğer yukarıdaki komut işe yaramaz ise Linux komut satırı üzerinden direk MySQL dosyalarının bulunduğu klasörü yazarak işlem yapabilirsiniz.

Not: MySQL onarma işlemini yapmadan önce sunucu disk alanının yeterli olduğuna emin olun.

Linux sunucularda Memory kullanımını görüntüleme

Sunucu yönetimine yeni başlayanların genellikle sıkıntı duyduğu konulardan biri Linux sunuculardaki memory kullanımıdır.  Eklediğimiz bu makalede linux sunucularınızdaki memory kullanımı hakkında daha net bilgilere sahip olabileceğinizi düşünüyoruz.

Memory kullanımını görüntülemek için kullanmanız gereken komut free komutudur. Bu komutu yazdığınızda terminal çıktısı alt kısımdaki gibi olacaktır.

Komutun çıktısında ki değerleri daha okunaklı görmek için bazı özel parametreleri kullanabilirsiniz. Bunlardan en sık tercih edilen parametre free -m parametresidir. Daha fazla parametre için man free yazarak free komutunun tüm parametrelerine ulaşabilirsiniz. free -m parametresinin çıktısı alt kısımdaki gibidir, değerler bu komutta megabyte olarak verilir.

Genellikle memory kullanımını görüntülemek ve değerlendirmekteki hata şudur, çıktıda yer alan Mem: alanının Used tablosunu aktif memory kullanımı olarak değerlendirirler, ancak gerçekte aktif memory kullanımı used kısmında yer alan değer değildir. Linux çekirdeği sistemdeki memory kullanımını en optimal seviyede kullanmaya çalışır ve memory de tutulan bilgileri gerek gördüğünde hazır tutmak üzere saklar. Bu nedenle Mem: kısmı hem aktif kullanılan bellek miktarını hemde gerekdiğinde silinebilen ram üzerinde cache edilmiş önbellek miktarını göstermektedir.

Bu nedenlerden dolayı free komutunun 2 satırında bulunan kısım, disk üzerindeki önbellek dışında kalan gerçek kullanımı gösterir.

Gerçekte sistemde kullandığınız bellek miktarı -/+ buffers/cache: sütununda yazan used kısmıdır.

Son olarak free -m çıktısında yer alan Swap: işlevi hakkında sizleri bilgilendireceğiz. Swap, fiziksel bellek miktarının tamamen tükendiği durumlarda işletim sisteminin kararsız hale gelmemesi için başvurduğu sanal bellek miktarıdır. Bu sanal bellek sunucunuzdaki sabit diskler üzerinde çalışır. Bunu kesinlikle önbellek ile karıştırmayın, eğer bir sunucu swap bellek kullanmaya başladıysa oldukça yavaş çalışmaya başlar. Sunucunuzda herhangi bir şekilde Swap: satırının used kısmında kullanım mevcut ise, belirli bir noktada fiziksel bellek miktarınız yetersiz kalmış ve Linux swap bellek miktarına başvurmuş diyebiliriz. (Bazı uygulamaların çalışma mantığı bu konuda farklıdır. Swap bellek miktarını öncelikli olarak kullanabilir.)

Swap kullanmaya başladığınızda sunucunuzun load değerleri artar, swap bellekte kalan verilere erişimin gerçek fiziksel bellek hızından çok daha düşük bir hızda eriştiğinden performans ile ilgili ciddi sıkıntılar yaratabilir. Swap belleğin boşaltılması için alt kısımdaki komutları uygulayabilirsiniz.

Memory kullanımı hakkında sormak istediğiniz sorularınızı yorum bölümünden bizlere iletebilirsiniz.

PHP smarty kurulumu

Önceki yazımda smarty framework’ün ne olduğunu açıklamıştım . Bu yazımda ise smarty framework kurulumu ve ilk örneğimizi yapacağız .

Buradaki linkten smarty framework son sürümünü indirelim ve zip içerisinden web sunucumuza yada localhosta sadece libs klasörünü çıkartalım .

Ardından aşağıdaki gibi klasör ve dosya yapımızı oluşturalım .

cache
config
libs
templates
templates_c
index.php

Uyarı : Templates ve cache klasörleri yazma iznine sahip olmalıdır .

Ardından index.php sayfamızı açalım ve kodumuzu yazalım

 

Tema dosyamızı oluşturmamız gerekiyor . Bunun için templates klasörü altına index.tpl isimli bir dosya oluşturalım ve içerisine html ve smarty kodumuzu yazalım

Smarty ile ilk örneğimiz bu şekildedir . Kısaca açıklamak gerekirse ;

index.php dosyamızda smarty template ve cache klasörleri yollarını belirledir .
Ardından merhaba_dunya adında bir değişken tanımladık ve bu değişkene Merhaba Dünya yazısını atadık .
display fonksiyonu ile de değişkenimizi templates/index.tpl dosyamıza gönderdik . İlk örneğimiz burada son buldu .

Bundan sonraki yazımda php smarty ile veritabanı işlemlerine gözatacağız .

ezSQL | Veritabanı Sınıfı

Neden ezSQL?

Bu bana sorulduğunda her zaman verdiğim cevap pratikliği ve wordpress gibi bir devin kullanması. Yapımcısı Justin Vincent ise şöyle cevaplamış;

  • PHP sistemlerinizde veritabanınızı hızlı ve kolay bir şekilde yönetmek. ( mySQL / Oracle8/9 / InterBase/FireBird / PostgreSQL / MS-SQL / SQLite / SQLite c++)
  • Scriptinizin üstüne eklediğiniz tek bir php dosyasından oluşur ve standart veritabanı fonksiyonlarını hızlı ve kolay birşekilde kullanmanızı sağlar.
  • Sunucu ekstra yük bindirmemek için sorguları otomatik olarak önbelleğe alır ve kullanmanıza izin verir.
  • Çok rahat bir şekilde sorgularınızı debug etme imkanı sunar.
  • Çoğu ezSQL fonksiyonu Objects, Associative Arrays, veya Numerical Arrays olarak sonuç döndürür.
  • Proje geliştirme sürenize katlı sağlar, kodlarınızı hızlandırır ve optimizasyon sağlar.
  • Küçük bir sınıftır ve sisteminize yük bindirmez.

Kurulumu

  1. ezSQL sınıfının en son sürümünü buradan indirin
  2. Betiğinizin ana dizinine bir klasör oluşturun ve adını ezSQL yapın (Opsiyonel)
  3. İndirdiğiniz ezSQL klasörünün içindeki shared klasörüne girin ve ez_sql_core.php dosyasını 2. adımda oluşturduğunuz klasör içine atın.
  4. mySQL için ana dizinden mysql klasörüne girin ve içindeki ez_sql_mysql.php dosyasını 2.adımda oluşturduğunuz klasör içine atın.
  5. Bu iki dosyayı include ederek veritabanı bağlantınızı yapın (Aşağıdaki kodu inceleyin)

Yukarıdaki kodları mysqlBaglan.php olarak kayıt ederek veritabanı işlemi yapacağınız sayfalara dahil ederek kullanabilirsiniz.

ezSQL fonksiyonları

  1. $db->get_results — birden fazla satırdan oluşan sonuç kümesi döndürür
  2. $db->get_row — tek bir satır için sonuç kümesi getirir
  3. $db->get_col — tek bir sutündaki değeri getirir
  4. $db->get_var — tek bir satırdaki tek bir değeri getirir
  5. $db->query — veritabanına sorgu gönderir (INSERT, UPDATE, DELETE vb işlemler için)
  6. $db->debug — son sorguyu ve sonuç kümesini yazdırır
  7. $db->vardump — sonucu ve yapısını yazdırır
  8. $db->select — yeni bir veritabanı seçer
  9. $db->get_col_info — sutünların bilgilerini getirir
  10. $db->hide_errors — ezSQL hatalarını deaktif eder
  11. $db->show_errors — ezSQL hatalarını aktif eder
  12. $db->escape — Zararlı karakterleri temizler (addslashes gibi)
  13. $db = new db — Yeni veritabanı nesnesi oluşturur.

ezSQL değişkenleri

  1. $db->num_rows – Eğer varsa son sorgudaki dönen satır sayısını verir.
  2. $db->insert_id — INSERT sql sorgusu kullanıldığında oluşan AUTO_INCRIMENT değerini verir
  3. $db->rows_affected – Son yapılan INSERT, UPDATE veya DELETE sql sorgularında etkilenen satır sayısını verir.
  4. $db->num_queries – Scriptte çalıştırılan gerçek (önbellekte olmayan) sorgu sayısını verir.
  5. $db->debug_all – Eğer true değer alırsa (Bknz: $db->debug_all = true;) Scriptteki TÜM sorguları ve TÜM sonuçları verir.
  6. $db->cache_dir – Önbellekleme dosyalarının dizini.
  7. $db->cache_queries – Sorgu sonuçlarını önbelleğe almayı sağlar (Bknz: mysql/disk_cache_example.php)
  8. $db->cache_inserts – Girişleri önbelleğe alır (Bknz: mysql/disk_cache_example.php)
  9. $db->use_disk_cache – Disk önbellek sistemini kullanmayı sağlar (Bknz: mysql/disk_cache_example.php)
  10. $db->cache_timeout – Önbellek zaman aşım süresi (Bknz: mysql/disk_cache_example.php)

$db->query

Veritabanına sorgu göndermeye yarar, genelde INSERT,DELETE,UPDATE gibi işlemler için kullanılır.

Örnek

$db->get_var

$db->get_row

Veritabanından tek bir satır getirmeye yarar, örneğin bir üye’ye ait bilgileri almak istiyorsunuz.

$db->get_results

Bu kadar bilginin ezSQL’i kullanmaya başlamak için yeterli olacağını düşünüyorum, siz öyle düşünmüyorsanız burdan  bir bakın