MySQL veritabanı; Access’e göre aynı anda daha fazla kullanıcının bağlanacağı, zor işlemler yapacağı fakat yine de Access’ten çok daha başarımlı bir veritabanıdır. MySQL veritabanları bir sunucu müşterisinin doğrudan veya dolaylı yoldan indirebileceği dosyalar değildir. Müşteri sadece veritabanını açar, içine tablolarını yapar, verileri doldurur, veritabanını kullanır fakat dosyalar sunucunun, müşterinin erişemeyeceği bir kısmında depolanır.
Not : Eğer yayında olan sitenizde SQL veritabanına geçmek istiyorsanız veya SQL ile bir site yazmak istiyorsanız lütfen sunucu sahibi ile görüşüp SQL izni olup olmadığını sorgulayın.
Merhaba,
Az önce tamamlamış olduğum veritabanı sınıfı karşınızda "dbClass"... Bu sınıf size veritabanı üzerinde yaptığınız SELECT, INSERT, UPDATE, DELETE sorgularında SQL cümlelerindeki rutinlerden kurtulma fırsatı veriyor. Eğer kompleks SQL cümlecikleri yazmıyor sadece basit manada SQL'i kullanıyorsanız bu sınıf tam size göre.
Tam olarak yaptığı iş:
"SELECT alan FROM tablo WHERE sart="1"" gibi bir sorgudaki sürekli yazılan alanları yazmak yerine,
|
|
Sitenizde bir köşeye mail adresinizi giriniz bölümü koyarak, takipçilerine yeni yaptığınız yenilikleri duyurmak istiyorsunuz. Bunun için AJAX 'lı şık birşey güzel olur değil mi? Hem bu sayede sayfanız yenilenmemiş olur. Hemen çalışmamıza başlıyorum. AJAX gönderme işini JQuery kütüphanesini kullanarak yapacağım. İlk başta mail ekleme formunu hazırlıyoruz...
Adım adım açıklıyorum. İlk başta AJAX ile gönderildiğinde değişmesi için "epostalistediv" id li bir div oluşturuyoruz.
|
|
Yeni bir şirkete girmişssiniz... Elinizde güzel bir proje var yaklaşık olarak 1000 servise ve bu servis çalışanlarına hizmet veriyor.
Fakat sizden önceki arkadaşlar birazcık garip bir kodlama yöntemleri kullanmışlar ve çok absürt bir veri tabanı yapısı kurmuşlar.
Şu an çalıştığım şirkette karşılaşmış olduğum belirli hataları ve çözümlerini sizlerle paylaşacağım.
İlk olarak latin olarak oluşturulmuş tablolarımızı nasıl veri kaybı olmadan utf-8'e çevirebileceğimiz konusunda.
Unix türevimizin konsolunda şu adımları sırasıyla gerçekleştiriyoruz.
Bir site ya da projeye başladığımda, yazması en sıkıcı gelen işlerin başında veri sayfalama gelir. Her seferinde sayfalama işlemlerini bu yüzden en sona bırakırım. Daha önceki sayfalama makalelerimi okuduysanız hep karmaşık kodlardan oluştuğunu görebilirsiniz. Her seferinde bu kodları tekrar tekrar yazmak nedendir bilmem beni hep bunaltmıştır, öyle ki kopyala-yapıştır bile angarya gelir. Buna bir son vermem gerektiğini düşünüp, hazır OOP programlamaya kendimi alıştırmaya başladığım şu zamanlarda bununla ilgili bir sınıf yazmak istedim ve birşeyler karaladım. Benim can sıkıntımı fazlasıyla ortadan kaldıran bir sınıf hazırladım ve bunu sizlerle paylaşmak istedim.
MySQL'le uğraşan hemen herkesin başına root kullanıcısının şifresinin unutulması olayı en az bir kez gelmiştir diye düşünüyorum. İlk kez başıma geldiğinde MySQL'i komple kaldırıp tekrar kurarak çözmüştüm sorunu ama gerçek çözümün bu olmadığından emindim. Biraz araştırmayla bunun da üstesinden nasıl gelinebileceğini buldum. Windows ve Unix sistemlerde farklı yollardan çözülebilse de ben platform gözetmeksizin çalışan bir yöntemden bahsedeceğim.
- Öncelikle MySQL sunucunuzu durdurun.
- Kullandığınız sistemin komut satırına Administrator yetkisiyle bağlanın.
- MySQL'i "mysqld --skip-grant-tables" komutuyla tekrar çalıştırın.
- "mysql" komutuyla sunucuya bağlanın. Başarıyla giriş yaptıktan sonra aşağıdaki 2 satır komutu teker teker girip çalıştırın.
- İşlem bittiğinde MySQL sunucunuzu tekrar durdurup normal şeklinde çalıştırın.
- Root şifreniz değişmiştir, bu sefer bir yere kaydetmeyi unutmayın.
Mysql Cluster,
Yüksek trafiğe ve yüksek miktarda veri alış verişine sahip bir
database’iniz varsa, ve bu database’iniz ölüp ölüp diriliyorsa
artık cluster’a geçme vakti gelmiş demektir. Cluster kelime anlamı
olarak kümeleme demektir. Mysql Clustering dataları tablo boyutunda,
cluster’e dahil ndb node’larda kümeler halinde tutar. Ve yine bu
node’lar kendi aralarında data kopya tutma işlerini bu şekilde yaparlar.
Yani tabloları farklı fiziksel makinalarda tutup , datanın kopyalarını
oluştururlar. İstenirse kümeye yeni makinalar(ndb node) eklenebilir.
Bu şekilde bir büyüme de sağlanmış olur.
Linux da Faydalı Bilgiler
Bu makalede linux hakkında birkaç faydalı bilgiyi sizinle paylaşmak istiyorum.
Linux serverlar üstündeki mysql serverınızın yönetiminde sizlere
kolaylık sağlayacaktır.
scp: Datalarınızı bir yerden başka bir yere kopyalamanızı sağlar. Bu kopyalama
işlemi aynı makina içinde de olabilir farklı makinalar arasında da olabilir.
Örnek:
|
|
Mysql Table Partition (RANGE Partition Örnekleri)
Mysql Table Partition 2,
Şimdi örneklerle table partitionu anlamaya başlayalım.
RANGE Partition: Aşağıdaki örnekte personel isimli tablomuz
id,adi,soyadi,isBasiTarih,isSonuTarih,isKodu kolonlarına sahiptir.
Bu tablomuzda yapmak istediğimiz isKoduna göre
5 den küçük isKodlarına sahip olan satırlar p0 parçasına,
5 ile 10 arası isKodlarına sahip olan satırlar p1 parçasına,
10 ie 15 arası isKodlarına sahip olan satırlar p2 parçasına,
15 ile 20 arası isKodlarına sahip olan satırlar p3 parçasına atılmasıdır.
|
|
Mysql Table Partition
Büyük bir tabloyu herhangi bir kolondaki değerlere göre parçalara bölmeye table partition denir.
Table parititon da datalar fiziksel olarak farklı dosyalarda tutulur.Hatta farklı disklerde tutma
sanşımız da vardır.Bu özelliği Mysql 5.1 versiyonu ile kazanmıştır.
|
|
Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.