Anasayfa / Blog / PHP Dersleri / PHP Veri Tabanı / PHP ile MySQL ve Veri Tabanı Yedeği Almak
Şimdi ilk olarak Mysql’in yedeğini almak için bir çok yol var, ancak çoğu konfigürasyon gerektiren işler. Yani kişisel ayarlamalar yapmak gerek. Fakat paylaşımlı hostinglerde bunlara müdahale edilmediği için bu backup işlemini anlatıcam.
Hosting sunucularında backup yedeğe almak daha verimli oluyor. Ama yinde mysql veritabına girip veri tablosu yedeğini almakta fayda var. Ben mümkün olduğunca php tarafında çözmeye karar verdim.
Bundan dolayı, php tarafında sırasıyla şu değerleri almam gerekiyordu;
Veritabanımızda mevcut tabloları listelemek için şu komutu kullanıyoruz;
SHOW TABLES;
Bu komut bize tüm tablolarımızın isimlerini veriyor.
Mevcut tablonun oluşturulma değerlerini almak için şu komutu kullanıyoruz;
SHOW CREATE TABLE tablo_adi
Bu komutu çalıştırdıktan sonra bize CREATE TABLE tablo_adi …. şeklinde oluşturma kodlarını verecek.
Tablodaki oluşturduğumuz kolonların değerlerini almak için şu komutu kullanıyoruz.
SHOW COLUMNS FROM tablo_adi
Bu komutu çalıştırınca bize tabloya ait kolonların değerleri dönüyor.
Bu klasik select işlemi ama yinede gösterelim;
SELECT * FROM tablo_adi
Bazen crud işlemleri harici bu tarz yapılara ihtiyaç duyuyoruz. Ve eğer çalıştığımız veritabanı üzerinde oluşturduğumuz trigger, function, procedure gibi yapılar var ise bunlarıda alacağımız yedek dosyasına dahil etmemiz gerek. Ama korkmayın, mysql bizi düşünmüş ve kolay yollarını vermiş. Şimdi mevcut triggerları listelemek için şu komutu kullanıyoruz;
SHOW TRIGGERS
Ve bir trigger’ın oluşturma değerini almak için ise şu komutu kullanıyoruz;
SHOW CREATE TRIGGER trigger_adi
Zaten bu iki sorgu ile gerekli değerleri alıyoruz.
Aynı şekilde mysql function’ları almak içinde kolaylık sağlıyor. Function’ları listelemek için şu komutu kullanıyoruz;
SHOW FUNCTION STATUS WHERE Db = 'db_adi'
Burada diğerinden farklı olarak db adını belirttik. Çünkü diğer türlü diğer veritabanlarında olan functionlarda listelenebiliyor. Ve function oluşturma değerini almak için ise şu komutu kullanıyoruz;
SHOW CREATE FUNCTION function_adi
Bu konuyu henüz sizlere anlatmasamda, eminim mysql tarafında procedure oluşturup kullananlarınız vardır. Bunlarında listesini almak için şu komutu kullanıyoruz;
SHOW PROCEDURE STATUS WHERE Db = 'db_adi'
Mevcut procedure’ün oluşturma değerini almak için ise şu komutu kullanıyoruz;
SHOW CREATE PROCEDURE procedure_adi
Evet bu komutları kullanarak bir mysql backup’ı almak çok kolay.
Çalışmalarımı beğendiyseniz iletişim bölümünden bana ulaşabilirsiniz. Daha fazla soru için info@mgunaydin.com adresini kullanın.