Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Ahmet İpek
Ahmet İpek
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
9 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: durumda enterprise innodb kullanici kurulum mysql’i mysql’in performans sp’ler sunucu uygulama veritabani veritabanini yapisi zamanda Mono ve .NET Ahmet İpek
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : Mono ve .NET
Yayınlanma Tarihi : 29.10.2004
Okunma Sayısı : 33492
Yorum Sayısı : 5     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 29.3.2024
Turhal Temizer
Mac OS/X Removing CUDA 29.3.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı 29.3.2024
Burak Selim Şenyurt
Matematik ve Oyun Programlama - Missile Command - Final 29.3.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Platform Bağımsız Mono için Platform Bağımsız Veritabanı : MySQL 5.0 Beta
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Merhaba, bu makalede MySQL AB grubunun ürünü olan MySQL 5.0 ve maxDB ’nin neler içerdiğine göz attıktan sonra Linux Fedora Core 2 üzerinde MySQL 5.0 Beta kurulumunu göreceğiz. Amacımız platform bağımsız .NET için platform bağımsız veritabanını olan MySQL’i incelemek.

Linux platformunda olsun, windows platformunda olsun MySQL bize hiç yabancı olmayan bir veritabanı. Bugün IBM en çok satan kurumsal uygulaması olan WebSphere’in üzerinde çalıştığı 64bit’lik AIX’den, Linux’ın bir çok dağıtımına ve windows’da dahil olmak üzere belkide MySQL’i gerçek anlamda platform bağımsız tek veritabanı olarak nitelendirebiliriz. Yazılım firmaları bu bağımsızlığın ne kadar değerli olduğunu bilirler çünki ihale açan karşı firma eğer AIX üzerinde çalışıyorsa sizinde AIX üzerinde çalışmanızı şart koşar, bu yüzden belli bir platforma bağlı kalırsanız büyük paralar kaybetme riskiniz vardır. Biz geliştiriciler için gerçek anlamda işi kolaylaştırmaktadır. İşi kolaylaştırmak derken bileşenleri sürükleyip bırakmaktan ziyade aynı impelementasyonları farklı platformlar üzerinde can sıkıcı bir şekilde tekrar tekrar yapmamızı engeller. Örneğin .net aracılığı ile geliştirdiğimiz bir web uygulamasını MSSQL’e bağımlı kılarsak uygulamamızı Unix üstüne taşımak istediğimizde, mono bize IL kodlarını Unix üzerine taşımamıza yardımcı olacaktır fakat ya veritabanı ? Evet veritabanını başka bir sunucuya alarak bundan yırtabileceğimizi düşünüyorsunuz ama karşı firma buna asla izin vermeyececektir çünki elindeki sistem uzmanları Unix sunucularının güvenliğini ve bakımını sağlamaktan sorumludur ve buna göre seçilmiştir. Biliyoruz ki MSSQL Unix üzerinde çalışmayacak veya wineHQ kütüphaneleri ile gerçekleştirilebiliyor olsada bu çözümün hem çok uğraştırıcı hemde performansız olacaktır. Bu durumda elimiz mahkum veritabanını değiştirmek zorunda kalacağız. En iyi senaryo olarak uygulamanızın çok katmanlı olduğunu düşünebiliriz, bu şekilde harcamanız gereken süre önemli ölçüde düşebilir çünki değiştirilmesi gereken sadece veritabanına erişen katman olacaktır. Fakat ya MySQL kullanmış olsaydık ? Bu durumda hiçbir çaba sarf etmeden nerdeyse tüm sunucu ve client platformlarını desteklemiş olucaktık.

Bir çok kişi bugün MySQL’in Enterprise olarak nitelendirilen projelerde tercih edilmemesinin sebebini "MySQL’in enterprise bir veritabanı yapısı taşımadığı" olarak belirtiyordu. Peki nedir bir enterprise veri tabanından beklenen ? Öncelikli tabiki güvenirlik (kararlılık) , performans ve ardından StoredProcedures (Saklı Yordamlar) , Transactions (İşlem Bütünleri) .. gibi Sybase’in öne sürdüğü arından MSSQL ’de gördüğümüz özellikler. Açıkcası bu geçmişte doğru idi MySQL’in başlangıçtaki amacı ufak fakat hızlı bir veritabanı geliştirmekti. Bugün bu misyonunu SQLite’a bıraktı ve kendisi enterprise bir veritabanı olma yolunda adımlarını atmakta.

MySQL’in güvenirliği ve performansı esasında referanslarından NASA ve YAHOO gibi veritabanı yükü ağır olan kurumlar tarafından kanıtlanmıştır. Aşağıdaki performans ölçümleride bu konuda sanırım biraz daha aydınlatıcı olacaktır. İlk göreceğiniz figür Kullanıcı sayısı arttıkça sunucunun cevap sürelerini göstermekte, ikinci figür de kullanıcı sayısı arttıkça erişebilinen web sayfası sayısını göstermekte. Performans ölçümleri ile ayrıntılı kaynak kodunu ilgili referans’dan temin edebilirsiniz.

Referans: http://www.eweek.com/article2/0,3959,293,00.asp

Peki ya Enterprise bir veritabanından beklenen özellikler bugün MySQL 5.0 veya maxDB ile sağlanabiliyormu?
PS: maxDB MySQL AB gurubu tarafından SAP ERP (Enterprise Resource Planning) çözümleri uygulaması için geliştirilmiştir.

  • Stored Procedures (Saklı Yordamlar)
  • Crusors (İşaretçiler)
  • Views (Görünümler)
  • Functions (Fonksiyonlar)
  • Triggers (Tetikçiler)
  • Transactions (İşlem Bütünü)
  • Table & Row Locking (Tablola ve Satırların Kitlenmesi)
  • Clustring (Sunucuları Gruplandırma)
  • Sunucu Yönetim Paneli
Stored Procedures (SP): Sunucu tarafında derlenmiş olarak tutulan SQL kümesi olarak tanımlayabiliriz. Bu küme içerisinde gönderilen parametreler ile birden fazla SQL sorgusu gerçekleştirilebilir ve SQL sorgularının sonuçları belli bir program mantığı ile işlenip ve gene parametre olarak çıktı döndürülebilir. Bildiğimiz SQL sorguları çalışma zamanında sunucu tarafından derlenir, buna kıyasla SP’ler yaratıldıktan sonra sadece ilk çalıştırıldıklarında bir kez derlenir ve derlenmiş hali hafızada tutulur. Bu şekilde uygulamlar içerisinden direkt SQL sorgusu yollamak yerine sunucu tarafında daha evvel tanımladığımız SP’leri çağırarak performansı artırmak mümkündür. Keza MySQL çok sık kullandığımız SQL sorgularını zaten kolay erişim için kendi hafızasında derleyip saklamakta fakat SP’ler Enterprise uygulamaların vaz geçilmez öğeleridir çünki veritabanı yapısında yapılan değişiklikler uygulamaya yansıtılmadan gene veritabanı içerisinde SP’leri düzenlemek koşuluyla gerçekleştirilebilir.

Cursors: Yarattığımız SQL sorguları sonucunda dönen satırları işaret ederler. Bu şekilde saklı yordamlar içerisinde SQL ile çektiğimiz verileri adım adım işleme şansımız bulunur.

Views: Views ilişkilendirilmiş veri tablolarını, veritabanın uygulaması olarak birleştirip tek bir tabloymuş gibi hareket etmenizi sağlayan ve SP ile aynı syntax’a sahip bir yapıdır. Örneğin A tablosu ile B tablosu birbiri ile ilişkilendirilmiş olsun fakat siz uygulamanızda tek bir görünüm ile bu tabloları gösteriyorsunuz. Bu durumda bir views açarak A ve B arasındaki ilişkiye göre SQL sorgusunu oluşturduktan sonra aynı SP’ler gibi bu views’u kayıt edebilirsiniz ve bundan sonra her view’u çağırdığınızda size sonuç olarak birleştirilmiş bir tablo gelecektir.Aynı zaman da Views’larda SP’ler gibi derlendiklerinden daha performanslıdırlar.

Functions: Fonksiyonlar SP’ler içerisinde tekrarlama yapmanızı engellemek için çok önemlidir. Örneğin id’si 1,2,3,4 olan kullanıcıları göstermek için bir SP yazdınız, burda id’leri virgüllere göre ayırmanız gerekmekte bunun için ilgili bir fonksiyon yazıp çıktınısını SP’ye gönderebilirsiniz bu şekilde hem SP’niz ufalır hemde bu fonksiyonu ilerde başka SP’ler içerisinde kullanabilirsiniz. Başka bir avantajıda DBA (DataBase Admin) ’ler tarafından uygulamaya hiç müdahale edilmeden optimizasyon veya debug yapılması çok daha kolay olacaktır. Ek olarak fonksiyonlarda performansı artıran önemli elemanlardan biridir ve gene derlenmiş olarak sunucu hafızasında saklanır.

Triggers: Bir tablo üzerinde değişiklik gerçekleştiğinde (UPDATE, INSERT, DELETE) tetikçileri daha evvelden tanımlamış olduğunuz eylemi gerçekleştirirler. Örneğin silme işlemi gerçekleştirildiğinde aynı kayıt uzantılarının diğer tablolardan silinmesini sağlamak olabilir veya yeni bir kayıt girildiğinde ilgili kişiye mail atılmasını sağlamak gibi. Aynı zamanda tetikçiler aynı veritabanını kullanan 3. parti bir uygulamanın veri yapasına zarar vermesini engellemek için veritabanına direkt erişimini engelleyip 3. parti uygulamayı ana veritabanında olan değişikler hakkında haberdar etmek için çok kullanışlı çözümlerdir.

Transactions: İşlem bütünleri bir dizi SQL sorgusunun veya SP’lerin çalıştırıması sonucu bir simülasyon gerçekleştirir ve eğer bu sanal işlem sonrasında istisnai durum (hata) gerçekleşirse veri bütünlüğünün bozulmaması için tüm yapılan işlemler iptal edilebilir. Örneğin kullanıcı tablosuna yeni bir kullanıcı ekledikten sonra başka bir tablodaki kullanıcı sayısını artırmak istiyorsunuz. Kullanıcı eklemekte sorun çektiğimizi düşünelim burda uygulama tarafına dönüp SQL işaretçisinin drumunun true veya false olduğunu kontrol ettirmektense bu iki işlemi bir Transaction altında gerçekleştirir başarılıysa (COMMIT) ile gerçekleştiririz, başarısız ise (ROLLBACK) ile sorgular yapılmamış gibi sayarız. İşlem bütünleri genelde uygulama sunucusuile veritabanı sunucusu ayrı olarak tutuluyorsa kullanılmalıdır çünki sizin sorgunuzu gerçekleştirdiğiniz süre içerisinde sunucu ile bağlantının kopma ihtimali bulunmakta veya başka bir uygulama tarafından erişmek istediğiniz tablo kitlenmiş olabilir bu ihtimallere karşı işlem bütünleri kullanılmalıdır. İşlem bütününü kullanmak için yarattığınız tablo tiplerinin InnoDB olması gerekmektedir.

Table & Row Locking: Bu özellik birden fazla uygulamanın veya modülün eriştiği tablolarda kullanılmak üzere tasarlanmıştır. Örneğin ürün fiyat listesinin tabloda tutulduğu bir uygulamada müşteri ürünü alma butonuna tıkladığından başlayan süreçten kredi kartından para çekilene kadar fiyatların değişmemesi gerekmektedir. Bu durumda fiyat listesi tablosu kitlenir ve herhangibi operatörün ürün fiyatını müşteri satın alma işlemini tamamlamadan, değiştirmesini engeller. Bazen tüm tabloyu kitlemektense sadece spesifik satırı kitlemek daha sağlıklı bir yaklaşım olabilir. MySQL içerisinde bulunan InnoDB tablo yapısı ile hem satır bazında hemde tablo bazında kitlemeler yapabilirsiniz fakat MyISAM tablo yapısı ile sadece tablo bazında kitleme yapabilirsiniz.

Tablo Yapıları: MySQL ’de BerkleyDB , InnoDB ve MyISAM gibi tablo yapıları bulunmaktadır. BerkleyDB daha çok hafıza düzeyinde optimizasyon için gereklidir fakat performans ölçümlerinin pek parlak olduğu söylenemez. InnoDB yapısı MySQL’de ilk önce Max eklentisi ile gelmiş ardınan 4.1 ’in ileris sürümlerinde standart özellik olarak görülmüştür.İşlem bütünlerine, FY key(harici anahtar), satır bazında kitlemelere ve en önemlisi veritabanı çakışmalarında geri alma (restore) gibi özellikleri ile en güvenilir tablo yapısıdır aynı zamanda büyüklük sınırlaması dosya sisteminin alabileceği en büyük dosya ile sınırlıdır. MyISAM MySQL tarafından en baştan standart tablo yapısı olarak sunulmuştur, özelliği hızlı cevap verme yeteneğidir fakat büyük verileri taşıması söz konusu olduğunda kararsızlık gözlenir bu durumda büyük veri yapıları için InnoDB kullanılmalıdır.

Peki tablo seçimi nasıl yapılmalıdır ? Bu konuda veri tabloları yapıları daha iyi incelenmeli fakat kabaca yer sorunu yaşanıyorsa BerkleyDB, performans sorunu yaşanıyorsa MyISAM, karalılık (stabilite) sorunu yaşanıyorsa InnoDB kullanılmalıdır.

Clustring: Bir fiziksel veritabanı sunucusunun yetersiz kaldığı durumlarda aynı veritabanını tutan farklı fiziksel sunucular gerekebilir. Bu durumda veritabanın gruplama özelliğini desteklemesi gerekir. MySQL’de bunun için ayrı bir clustring eklentisi ön görülmüş çünki çoğu zaman tek veritabanı yeterlidir.

Sunucu Yönetim Paneli: Esasında bu DBA (veritabanı yöneticileri) veya uygulama geliştiricileri için bir kolaylık sağlamakta. Uzun süre MySQL’in bu konuda bir girişimi bulunmadı 3. parti yazılımlar ile bu sağlanılmaya çalışıldı fakat bugün MySQL Sorgu Görüntüleyicisi (Query Browser) ve Yönetim Paneli (Administrator Panel) olarak 2 kullanışlı uygulamayı bize sunuyor. Makalenin ileriki bölümlerinde bu uygulamaların kurulmasına ve kullanışına gene deyinecez.

Peki nedir bu MySQL Standart, MySQL Max  ve maxDB ?

MaxDB:
MySQL AB tarafından SAP.com için özel olarak üretilen MySQL ’den bağımsız bir veritabanıdır. Amacı SAP uygulamasının tüm ihtiyaçlarını karşılamaktır aynı zamanda SAP uygulaması için optimize edilmiştir. MySQL’e bağlantığınız fonksiyonlar, kütüphaneler veya API ’ler ile maxDB’ye bağlanmanız ancak araya bir proxy suncusu koyarak mümkün olabilmektedir.

MySQL Start ve Max: MySQL’in max eklentisi daha çok tabloların kriptolanması veya uygulama ile yapılan bağlantının kriptolanması için kullanılır. Aynı zamanda bir sonraki MySQL sürümünün yeni özelliklerinin de eklendiği bir yapıdır. Örneğin InnoDB tablo yapısı ilk önce max sürümünde tanıtılmış sonra standart sürüme dahil edilmiştir. Eğer Max sürümündeki özelliklere elzem olarak ihtiyacınız yoksa Standart sürüm kullanmanız tavsiye ediliyor çünki yeni özelliklerin karasız olma ihtimali çok yüksek.

PS: Belirttiğim temel özellikler MySQL ve maxDB sürümlerine göre farklılık göstermekte fakat MySQL 5.0 sürümünde tabiki tümünü bulmanız mümkün, sadece tetikliyiciler maxDB’de bulunmakta.

MySQL 5.0 ile gelen yenilikler esasında bu kadar değil bunlara ek olarak performans iyileştirmeleri, detaylı fonksiyonellikler gibi bir çok yenilik söz konusu fakat bu yazıda amacımız genel olarak MySQL’de neler bulabileceğimize göz atmak. Artık bu özellikleri kullanabileceğimiz örnekler için gerekli MySQL 5.0  kurulumu gerçekleştirmeye geldi.

Fedora Core 2.0 üzerinde MySQL 5.0 Kurulumu

Bir önceki makalede VMWare üzerine Fedora Core 2 kurlumunu görmüştük bu seriyi bozmayıp tekrar Fedora Core 2 üzerinde kurmuş olduğumuz sisteme nasıl MySQL 5.0 kurulumı yapabiliriz ona bakacaz. Gerekli rpm kurulum dosyalarını dev.mysql.com ’dan temin etmek mümkün. Burda çekmeniz gereken Linux x86 RPM downloads altında Server ve Client dosyaları. İlgili dosyaları /root klasörü altına indirdikten sonra kuruluma başlayabiliriz. Eğer kurulum esnasında tanımlı gelen mysql sürümünden kaynaklanan bazı uyarılar ile karşılaşırsak ilk önce vericeği hataların kaynaklandığı paketleri tespit etmeliyiz. Bunun için root klasörünün altında indirdiğimiz MySQL-server-5.0.0-0.i386.rpm dosyasını yüklemeyi denemeliyiz. Hata vermez ise client kurulumunuda gerçekleştirebilirsiniz ama aşağıdaki gri renkli hatalar ile karşılaşırsanız belirtilen adımları izleyiniz.

İhtiyacımız olan kurulum dosyaları:
MySQL-server-5.0.0-0.i386.rpm
MySQL-client-5.0.0-0.i386.rpm

rpm -ivh MySQL-server-5.0.0-0.i386.rpm

libmysqlclient.so.10 is needed by (installed) perl-DBD-MySQL-2.9003-4
libmysqlclient.so.10 is needed by (installed) mod_auth_mysql-20030510-4.1
libmysqlclient.so.10 is needed by (installed) php-mysql-4.3.4-11

burda eski mysql versiyonun bağlı olduğu dosyaları görmekteyiz. -Uvh (güncelleme) veya --force (zorlama) parametreleri ne yazık ki işinizi görmeyecektir. Bu durumda bu paketleri kaldırmamız gerekiyor.

rpm -e php-mysql-4.3.4-11
rpm -e mod_auth_mysql-20030510-4.1
rpm -e perl-DBD-MySQL-2.9003-4

perl-DBD-MySQL-2.9003-4 is needed by (installed) mysql-3.23.58.9

gördüğünüz gibi eski mysql sürümüne bir bağlantı daha çıktı bu durumda eski mysql’i de kaldırmamız gerekiyor. (ps: kurulum esnasında mysql’i seçmemiş olmama rağmen bazı modüllerin bağlantısı yüzünden mysql client yüklenmiş durumda.)

rpm -e mysql-3.23.58.9 perl-DBD-MySQL-2.9003-4

(ps: -e = erease "silme") Artık kurulumumuzu gerçekleştirebiliriz.

rpm -ivh MySQL-server-5.0.0-0.i386.rpm MySQL-client-5.0.0-0.i386.rpm

Eğer MySQL’in servis olarak her sistem açılışında çalışmasını istiyorsak System Settings -> Server Settings -> Services altında mysql servisinin yanına tik attıkdan sonra servis konfigrasyonunu kayıt etmelisiniz.

service mysql start  

Query Browser (Sorgu Görüntüleyicisi) ve Administrator Panel (Yönetim Paneli) Kurulumu

Gerekli kurulum dosyaları: dev.mysql.com

mysql-administrator-1.0.13-linux.tar.gz
mysql-query-browser-1.0.7a-beta-linux.tar.gz

(gzip -d "decompress" komutu .gz .tgz veya .Z uzantıların açılması için kullanılır) /root altına indirdiğimiz dosyaları aşağıdaki komutlarla açabiliriz.

gzip -d mysql-administrator-1.0.13-linux.tar.gz
gzip -d mysql-query-browser-1.0.7a-beta-linux.tar.gz

tar -xvf mysql-administrator-1.0.13-linux.tar
tar -xvf mysql-query-browser-1.0.7a-beta-linux.tar

Konsola mysql-administrator ve mysql-query-browser yazdığımızda karşımıza uygulamaların gelmesini sağlamak için iki tane kısa yol belirtmemiz gerekmekte bunları /usr/bin/ klasörünün altına giderek...

cd /usr/root
joe mysql-administrator

alttaki satırları text editörüne girdikten sonra CTRL+K sonra X ile kayıt ediniz.

#!/bin/sh/

/root/mysql-administrator/bin/mysql-administrator

şimdi de query browser için kısa yol oluşturalım...

joe mysql-query-browser

#!/bin/sh/

/root/mysql-query-browser/bin/mysql-query-browser

kısa yollara çalıştırma izni verilmesi

chmod 755 mysql-administrator
chmod 755 mysql-query-browser

Artık terminal (konsol) ekranına hangi klasörde olursak olalım mysql-administrator yazarak yönetim paneline giriş yapabiliriz. Eğer sonuna & işareti eklerseniz konsoldaki işretcinizi geri alırsınız bu şekilde konsolu kullanmaya devam edersiniz ama konsolu kapatırsanız yönetim panelide kapanır.

mysql-administrator &



Connection bölümünde listeden Open Connection Editor ile kendinize yeni bir bağlantı yaratabilirsiniz ve sonraki kullanımlarınızda bunu listeden seçebilirsiniz. MySQL’i ilk yüklediğinizde root şifresi boştur hiçbirşey girmenize gerek yok. Şifrenin nasıl değiştirilebileceğini ilerde görücez. Burda gördüğünüz ve anlam veremediğiniz bir "Compress connection data" özelliği uzaktaki sunucua bağlanıyorsanız bağlantı esnasında gidip gelen text’lerin opsiyonel olarak sıkıştırılmasını bu şekilde band genişliğinin azalmasını sağlar; evet msSQL’de böyle bir özellik yok. Aynı zamanda bu özelliği Mono sürücülerinde de kullanabiliyoruz.

Yönetim Paneli Ekran Görüntüleri

Server Information ( Sunucu Bilgisi )
Service Control ( Servis Yönetimi )
Startup Parameters ( Başlangıç Parametreleri ): MySQL kullanılacağı proje veya yapıya göre düzenlemek mümkün. bu ayarlar daha çok kararlılık ve performans’ın artırılması için kullanılmaktadır. Örneğin genel parametreler sekmesi içerisinde tanımlı tablo yapısı (default storage engine) tanımsız gözükmektedir. Burda bu özelliği açıp InnoDB’ye alabilirsiniz ardından InnoDB parametreleri sekmesinden Kurtarma (force recory) özelliğini açabilirsiniz. Açıkcası MySQL ile kararlı uygulamalar geliştirmek istiyorsanız iyi bir MySQL kitabı edinmenizi öneririm. ps: Bu bölüme girerken my.cnf bulunamadı gibi bir hata ile karşılaşırsanız /etc/my.cnf ’yi göstermeyi deneyiniz eğer /etc altında my.cnf yoksa panelin bir tane yaratmasına izin verip ardından tekrar /etc/my.cnf’yi gösteriniz. Bu bölümde yaptığınız değişikler parametre olarak my.cnf altına yazılacaktır.
User Administration ( Kullanıcı ve Yetki Yönetimi ): root ’da dahil olmak üzere tüm kullanıcıları şifre ve yetkilerini bu bölümden değiştirebilirsiniz. Hangi ip veya bilgisayardan bağlanıp hangi veritabanına erişeceği ve hangi komutları çalıştırabileceğine kadar bir çok yetki ayarı burdan gerçekleştirilebilir.
Server Connection ( Sunucu Bağlantıları ): Anlık sunucu bağlantılarını gösterir. Örneğin uygulamanız çalışırken kaç bağlantı açtığını burdan takip edebilir gerekli görürseniz pooling kullanmaya burda karar verebilirsiniz.
Health ( Sağlık )
Server Logs ( Sunucu Kayıtları )
Backup ( Yedekleme ): Veri tabanlarının bir profil oluşturulduktan sonra yedeğinin alınmasını sağlar. Bu profilleme sayesinde sunucu tarafından düzenli yedekler alınabilir. Aynı zamanda yedekleme alınırken ne tur SQL sorguları gerçekleştirileceği burdan ayarlanabilir örneğin tabloların kitlenmesi gerekip gerekmediği veya transaction kullanıp kullanılmamasının kararı.
Restore Backup ( Yedeğin Geri Alınması )
Replication Status ( Replikasyon Durumu ): Bu bölüm Clustring özelliği eklemiş sunucular için replikasyon ayarlarını içermektedir.
Catalogs ( Veritabanları ): Veritabanlarının ve veri tablolarının hafıza profillerini ve anahtarlama yapılarını burdan takip edebilirsiniz.

sıra sorgu görüntüleyicisinde...

mysql-query-browser &

Sorgu Görüntüleyicisi Ekran Görüntüleri

İleriki Makalelerimizde Sorgu görüntüleyicisinin geliştirme esnasında nasıl kullanılacağını göreceğiz ve MySQL’in geliştirdiği .NET sürücüleri ile MySQL uygulamaları geliştireceğiz.

Makale:
Platform Bağımsız Mono için Platform Bağımsız Veritabanı : MySQL 5.0 Beta Mono - Linux'ta .NET Ahmet İpek
  • Yazılan Yorumlar
  • Yorum Yaz
EKİ
7
2009
makale yazılalı 4 sene olmuş ancak MySql'in Stored Procedure desteği beni hala çıldırtmay devam ediyor. Stored Procedure ile oluşturduğumuz yordamlara parametre gönderirken aynı sırada olmaması durumunda hata vermeketedir @parametreName'in bir anlamı kalmamaktadır. daha geniş bir örnek vermek gerekirse. sp_GelirAdd`( in pYil smallint, in pAy tinyint, in pBirimId smallint, in pGrup smallint, in pGrupAlt smallint, in pTahakkuk bigint, in pTahsilat bigint, in pRedIade bigint, in pMukellefSayisi integer) command.Parameters.Add("@pYil", MySqlDbType.Int16).Value = item.Yil; command.Parameters.Add("@pAy", MySqlDbType.Byte).Value = item.Ay; command.Parameters.Add("@pBirimId", MySqlDbType.Int32).Value = item.BirimId; command.Parameters.Add("@pGrup", MySqlDbType.Int16).Value = item.Grup; command.Parameters.Add("@pGrupAlt", MySqlDbType.Int16).Value = item.GrupAlt; command.Parameters.Add("@pTahakkuk", MySqlDbType.Int64).Value = item.Tahakkuk; command.Parameters.Add("@pTahsilat", MySqlDbType.Int64).Value = item.Tahsilat; command.Parameters.Add("@pRedIade", MySqlDbType.Int64).Value = item.RedIade; command.Parameters.Add("@pMukellefSayisi", MySqlDbType.Int32).Value = item.MukellefSayisi; burda parametre gönerirken sırlamayı değiştirmeniz durumunda hata alırsınız veya dbtype özelliği aynı ise yanlış sutuna kaydı yapar. ki yapıyor. bu makelede yazılı olanları dikkate alark mysql tercih ettim çokta pişman değilim ancak .net ile kullanıyorsanız zamanınızın bol olması lazım :))))
NİS
23
2005
bu bakış açısıyla bir ürün geliştirirseniz ne yazık ki devlet ihalelerinde çok büyük üzüntüye uğrarsınız. Çünki kamu kuruluşlarının büyük bir kısmı AIX ve AS400 kullanmaktalar. Halen daha yapılan yeni sistem kurulumları IBM desteğinde AIX üzerinden devam etmekte. RDBMSe gelince bu çok tartışmalı bir konu. Gerekliliği sorgulanmakta çünki işin içine RDBMS girdiğinde veritabanı bağımsızlık ilkesini bozmuş oluyorsunuz. Gene bu sizi ilerde çok üzebilecek sonuçlara neden olabilir. Teorik düşüncelere kapılmaktansa piyasada gerçekte neler olup bittiğini daha iyi takip etmek bence herkez için daha faydalı olacaktır.
NİS
4
2005
Platform bağımlı veritabanları bu yazının kapsamında değildir. platform bağımlılık kabul edilebilirse (örneğin firebirdün AIXi tam anlamıyla desteklediğini hiç sanmıyorum) o zaman windows platformu MSDE, SQLEXPRESS gibi veritabanlarını kullanmak çok daha avantajlı olacaktır. Aynı şey PostgreSQL içinde geçerlidir...
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor