'Mysql' Kategori'sine ait arşiv.
MySQL Database Schema Export
Bir mysql database’inin tablo yapısını, tabloların içerdiği veriyi almaksızın çıkartmak için aşağıdaki mysqldump cümlesi kullanılabilir.
# mysqldump --no-data --tables -u kullaniciadi -p db_adi >> db_adi.sql
–no-data parametresini kaldırırsanız, database yapısı içerdiği verilerle alınacaktır.
Bunun yanısıra database’iniz de tanımlı stored procedurler ya da function’lar var ise bu rutinleri de almak için mysqldump’ı aşağıdaki gibi kullanabilirsiniz.
# mysqldump --no-data --tables --routines -u kullaniciadi -p db_adi >> db_adi.sql
Daha fazla bilgi için bkz:
GreenSQL DB Firewall ile Sql Injection Önlemi
GreenSQL, sql injection saldırıları için database’leri koruma altına almak üzere geliştirilmiş bir database firewall uygulamasıdır. MySQL ve PostgreSQL’ler için destek sunan GreenSQL temel olarak proxy olarak çalışarak gerçek database’in önünde durur ve web uygulamasından gelen sql bağlantı isteklerini karşılayarak SQL komutlarını inceler ve bir risk scoring matrix kullanarak ilgili sql cümlelerini analiz ederek aksiyon alır. |
Bu şekilde, web uygulamanızda bir sql injection açığı bulunsa dahi GreenSQL sayesinde açıktan etkilenmemeniz mümkün olabilir. Detaylarına yazının devamında değineceğim GreenSQL temel olarak, default 3305 portunu dinler ve gelen sql istekleri için risk analizi yapar; güvenli olmaları durumunda komutları arkadaki sql sunucusuna iletir, eğer sql cümleleri güvenli değil ve daha önceden de Whitelist’e eklenmemişlerse blocklar ve uygulamaya boş bir cevap döndürür. GreenSQL’in IPS, IDS, Firewall ve Learning gibi modlarda çalıştırabilirsiniz. Özellikle learning modu false positive durumların önüne geçmek için çok kullanışlıdır. Ayrıca GreenSQL fiziksel olarak database sunucunuz ile aynı makinada çalışabilir ya da ayrı bir makina üzerine konumlandırabilirsiniz.
Yazının devamında, GreenSQL’in çalışma mantığından, kurulum ve yapılandırma işlemlerinden bahsedeceğim.
OpenX 2.8 Ad Server Kurulumu
OpenX, oldukça gelişmiş ve güzel bir reklam yötenim sistemidir. OpenX kullanarak sitenizde yayınladığınız reklamları kolayca yönetebilir ve reklam verenlerinize gelişmiş, istatistigi raportlama yapabilirsiniz. Php tabalı olan OpenX database olarak MySql kullanıyor ve oldukça performanslı çalışıyor. |
Ben, OpenX kullanarak, bir mysql bir apache olmak üzere, Xeon 3Ghz işlemci ve 2GB ram’e sahip iki FreeBSD sunucu üzerinde aylık ortalama 100 milyon reklam gösterimi yapabiliyorum. Sonuç olarak siz de reklam yönetimi için bir çözüm arıyorsanız, aradığınız OpenX olabilir.
Bu yazıda, OpenX’in nasıl kurulduğu ve genel geçer yönetim işleri anlatılmaktadır. (Kurulum FreeBSD 7.1 üzerinde yapılacaktır.)
OpenX aslında bir kaç kez ismi değişmiş ve bir çok revizyondan geçmiş bir yazılım. Zaman içinde phpAdsNew, Openads isimleri ile de tanınan bu güzel yazılımın son hali OpenX ve son sürümü 2.8.
İşte nasıl kurulduğu;
Mysql Server İçin Root Şifresi Tanımlamak
Mysql server kurulumlarında root şifresi ön tanımlı olarak boş gelmektedir, bu nedenle kurulumun hemen ardından, bir root şifresi tanımlamak gerekmektedir. Bu işlemi komut satırından yapabilmek için iki yol bulunuyor. Birincisi, mysql server ile birlikte gelen mysqladmin aracını kullanmak, ikincisi ise direk olarak mysql’e bağlanarak bir sql cümlesi ile root kullanıcısına bir password set etmektir.
Bu yazıda, her iki yöntem de kullanılarak, ilk kurulum sonrasında, root passwordunun nasıl tanımlanabileceği anlatılmaktadır.
Mysql Data Dizininin Yerinin Değiştirilmesi
Mysql sunucunuzun datalarını bulunduğu diskte yer sıkıntısı çekmeniz durumunda , ilgili data dizinini daha büyük alana sahip bir diske taşımak isteyebilirsiniz. Böyle bir durumda izleyebileceğiniz iki yol bulunuyor. Birincisi, Linux/GUNU dağıtımlar için mysql’in ana yapılandırma bilgilerinin tutulduğu my.cnf isimli dosyada tanımlanabilen datadir özelliğini kullanmaktır. FreeBSD için ise, mysql başlangıç betiğinde küçük bir değişiklik yapılabilir. İkinci olarak da, hem Linux’lar için hem de BSD’ler için geçerli olmak üzere, yapılandırma dosyalarına dokunmadan, ilgili dizini yeni diske taşımak ve orjinal datadir’ı buraya linklemektir. |
Bu yazıda, mysql verilerinin durduğu dizinin, bir başka alana nasıl taşınabileceği anlatılmaktadır. Yazıda, her iki yöntem de kullanılarak taşıma işlemi yapılacaktır. Size en kolay gelen adımı takip edebilirsiniz.
Mysql Backup to FTP (Shell Script)
Bir önceki yazımda, bir mysql database’inin backup’ını alıp, sıkıştırdıktan sonra bir ftp sunucusuna upload eden bir php scriptini paylaşmıştım. İlgili yazıya buradan erişebilirsiniz.Bu yazıda ise, aynı işi daha fonksiyonel olarak yapan bir shell script’i bulabilirsiniz. Yazinin devami icin tiklayin.
Mysql Replikasyon Yapılandırması
Sql Replication uygulaması kısaca bir veri tabanının bir kopyasını başka bir sunucu üzerine sürekli güncel bir şekilde tutmaya yarayan ve oldukça fazla kullanım alanı olan güzel bir uygulamadır.
Örneğin çok fazla işlem hacmine sahip bir veritabanı uygulamasında sql sunucusunun kaynakları büyük miktarlardaki veri giriş çıkış işlemlerine yetişmekte zorlanabilir bu da sunucunun yerlerde sürünmesine neden olabilir. Bu performans sorunlarını, sunucunun donanımsal kaynaklarını arttırarak çözmek bazı durumlar için mümkün olmayabilir. İşte bu tip durumlarda veritabanınızın bir kopyasını ikinci bir sunucu üzerinde çalıştırmak isteyebilirsiniz. |
Ya da aynı şekilde verinizin güvenliğini sağlamak amacıyla da kopya bir database’e ihtiyaç duyabilirsiniz. Hatta aynı veritabanının birden fazla fiziksel lokasyonda bulunuyor olması da gerekebilir.
İşte bu gibi senaryolar için veritabanınızı bir başka sunucuya replike edebilir ve devamlı güncellenen bir kopyasını ilgili serverda bulundurabilirsiniz. Makalenin devamında mysql üzerinde master to slave replikasyon işleminin nasıl yapıldığına ait notları bulabilirsiniz.
Mysql Root Şifresini Resetlemek – Password Recovery
Şifrelerinizi herhangi bir mecrada (password managerler dahil) yazılı bir şekilde tutmamak güvenlik tedbirlerinin başında gelen bir konudur. Ancak uzun zamandır uğrayıp hatrını sormadığınız bir mysql sunucunuz olabilir ve hatta bu nedenle zamanında belirlediğiniz şifreyi de unutmuş olabilirsiniz.
İşte bu gibi durumlarda yapılabilecek şeylerden biri şifreyi hatırlamak :) bir diğeri ise şifreyi resetlemektir. Neyseki mysql’in şifre resetleme prosedürü bir iki adımda halledilebilecek kadar basit bir olay. İnternette konu ile ilgili bulabileceğiniz bir çok dökümanın bir benzeri olan ve kendime not olması açısından yazdığım bu postta da, mysql şifrelerinin kolayca nasıl resetlenebileceği anlatılmaktadır.
İzlenmesi gereken adımlar şöyle: