MySQL Veritabanı



MySQL, T.c.X DataKonsultAB firmasi tarafindan üretilmis, performansi cok yüksek bir SQL veritabanidir. MySQL son zamanlarda hazirlanan veritabani destekli websitelerde üstün performansini ortaya koyarak, kücük ve büyük boyuttaki projeler icin yeterli oldugu ispatlamistir.

Bahsettigim performansi elde edebilmek icin, MySQL multithreaded calismaktadir. Multithreaded nedir? Multithreaded özelligi olan bir program icinde, programin cesitli bölümleri ayni anda paralel olarak calisabilir. Multithreading programin hizini ve performansini arttirir. Multithreaded özelligi, MySQL veritabanina ayni anda birden fazla kullanicinin baglanip, sorgulama (query) yapmasi imkani verir.

SQL (Strutured Query Language), SQL bazinda calisan veritabanlari (örnegin Oracle, MSSql) icin baglayici bir standarttir. Bir veritabani sisteminin "ben SQL standartina uygunum" diyebilmesi icin SQL Entry Level olarak bilinen SQL komut/direktif/fonksiyonlari kümesini tanimasi gerekmektedir. MySQL cok zengin bir SQL komut/direktif/fonksiyon kümesine sahiptir ve SQL standardina uyumludur. MySQL bir düzineye yakin veritipi ve cesitli SQL fonksiyonlari icermektedir. MySQL yaptigi eklemelerde SQL standartini genisletistir. ENCRYPT, WEEKDAY, IF, AUTO_INCREMENT, LAST_INSERTE_ID bunlardan bazilaridir.

MySQL icinde kasitli olarak, performans düsüsünü engellemk icin, SQL standartinin öngördügü bazi komut/direktif/fonksiyonlar kullanilmamistir. Bunlardan en önemlileri transaksiyonlar ve stored prosedürlerdir.

MySQL veritabani sisteminin bazi özelliklerini söyle siralayabiliriz:

Multithreaded. Ayni anda birden fazla kullanici baglanti yapabilir.
Her MySQL bilgibankasi 50.000.000 kayit (record = satir) icerebilir.
Cok hitli SQL komut sürümü.
Herhalde MySQL'i hizi ve performansi yaninda en aktaktif yapan özelligi bedava olmasidir. T.c.X firmasi herhangi bir ücret almadan MySQL veritabanini General Public Lisansi altinda kullanima sunmaktadir. Özel sahislar ve firmalar ücret ödemeden MySQL'i kullanabilirler.

Yazimin bundan sonraki bölümünde MySQL'in Linux sistemi üzerinde nasil kurulup, calistirildigini anlatacagim. MySQL'in Windows sürümü de bulunmaktadir. MySQL'in Linux/Windows/Mac sürümlerini MySQL adresinde bulabilirsiniz.

Öncelikle kullandiginiz Linux sürümüne bagli olarak gerekli MySQL sürümünü http://http://www.mysql.com adresinden tedarik etmeniz gerekiyor. Su anki aktüel sürümler mysql-3.21/22/23 dür. En yüksek numaraya sahip sürüm (23) genelde cesitli yeni fonsiyonlarin eklendigi ve henüz %100 test edilmemis bir sürümdür. Bu yüzden sondan bir önceki sürümü kullanmaniz, sisteminizde hata olusmasini önleyecektir. MySQL kod(source) ve derlenmis(binary) olarak dagitilmaktadir. Eger MySQL'i kod halinde indirirseniz, kodu bilgisayaraniz üzerinde C dili derleyicisi ile derlemeniz gerekmektedir. Eger derlenmis sürümü edindiyseniz, herhangi bir derleme yapmadan, MySQL'i calistirabilirsiniz.

Simdi kod olarak edindiginiz MySQL sürümünü Linux üzerinde nasil derliyecegimizi inceleyelim. Öncelikle paketi asagidaki komutla acin.

$ gunzip -c mysql-x.xx.xx.tar.gz | tar xvf -

mysql-x.xx.xx.tar.gz (örnegin mysql-3.22.21) download ettiginiz MySQL sürümüdür. Yukardaki islemin ardindan bilgisayariniz üzerinde mysql-x.xx.xx isminde bir dizin bulacaksiniz. Bu dizin icinde gecerek, derleme islemine baslayabilirsiniz.

$ cd mysql-x.xx.xx $./configure

Configure komutu gerekli islemleri yaptiktan sonra, make ve make install komutlariyla derleme islemini tamamlayin. make install komutu, make komutu ile derlenen MySQL komutlarini /usr/local/mysql dizinine kopyalar. MySQL'in calisabilmesi icin son olarak asagida yeralan komutlari calistirmaniz gerekiyor.

$ cd /usr/local/mysql
$ ./scripts/mysql_install_db

Son satirda yeralan komut, MySQL icin gerekli tabelalari hazirladiktan sonra, MySQL veritabani serverini calistirir. MySQL veritabani serverini ./bin/safe_mysqld & komutuyla da calistirabilirsiniz. safe_mysqld programi mysqld komutunu kullanarak, MySQL serverini calistirir. MySQL'e baglanti kurabilmeniz icin serverin (mysqld) aktif olmasi gerekmektedir.

Asagidaki komut, server hakkinda bilgi verir.

$./bin/mysqladmin version

mysqladmin Ver 7.11 Distrib 3.22.23b for Linux on i586 TcX Datakonsult AB, by Monty Server Version....

MySQL kurma islemini özetleyecek olursak:

$ gunzip -c mysql-x.xx.xx.tar.gz | tar xvf -
$ cd mysql-x.xx.xx
$ ./configure
$ make
$ make install
$ cd /usr/local/mysql
$ ./scripts/mysql_install_db
$ ./bin/safe_mysqld

Eger MySQL'in derlenmis sürümünü kurmak istiyorsaniz, asagidaki islemleri yapin.

$ gunzip -c /tmp/mysql-x.xx.xx.-pc-linux-gnu-i586.tgz | tar xvf -
$ cd mysql-x.xx.xx.-pc-linux-gnu-i586
$ ./scripts/mysql_install_db
$ ./bin/safe_mysqld -log &

Aşağıda yeralan komutlar ile ilk veritabaninizi yaratabilirsiniz.

$ mysqladmin create test
$ mysql test
mysql > create table deneme(isim char(10));
Query OK, 0 rows affected (0.03 sec)

mysql > insert into deneme values('Aergun');
insert into denem values('Aergun');

mysql > select * from deneme;
+--------+
| isim |
+--------+
| Aergun |
+--------+
1 row in set (0.00 sec)

Yazan: Ayhan Ergün
Kolay gelsin

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimleme seçenekleri hakkında daha fazla bilgi

CAPTCHA
Aşağıdaki resimde yer alan karakterleri kutucuğa doğru olarak yazınız
Image CAPTCHA
Enter the characters shown in the image.

Anket

Web sitesinde hangisi daha önemlidir:

Son Konular

2011-12-14 21:50 - Motorlu araçlar otomobil vergisi sorgulama
2011-12-14 21:47 - Sorgulamalar
2011-12-11 14:33 - Ben az önce ne arayacaktım
2011-09-10 22:51 - DSLR Fotograf Makinası sınıflandırması
2011-09-09 17:33 - ‘Crop Factor’ Nedir, hakkında bilgi
2011-09-09 17:30 - Fotograf Rehberi
2011-08-20 21:30 - Samsung LEDTV'lerde .SRF ve XFS süprizi
2011-08-19 00:45 - 2011 yılının web tasarım trendleri
2011-04-09 20:18 - Alan adları gerçek isim sahiplerine verilecek!
2011-01-13 01:43 - SEO İçin Dikkat Edilmesi Gereken Hususlar
2011-01-13 01:42 - Meta tag SEO Optimization
2011-01-13 01:41 - Google Adsense Hakkında Detaylı Bilgi
2011-01-13 01:40 - Soru Ve Cevaplar ile Google Adsense
2011-01-13 01:39 - Arama motoru Google ve Pagerank
2011-01-13 01:38 - Seo Sözlüğü
2011-01-13 01:37 - Google Arama Özellikleri
2011-01-13 01:36 - Adsense Reklam Yerleşimi
2011-01-13 01:35 - Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol
2011-01-13 01:34 - Sitenizin Google ve Web deki Yeri
2011-01-13 01:33 - Arama Motoru Bilgi ve İpuçları
2011-01-13 01:31 - Arama Motorları Teknikleri
2011-01-13 01:29 - Google Pagerank Detaylı Anlatım
2011-01-13 01:27 - Sitenize Ziyaretçiler En Çok Hangi Kelimeler İle Gelmiş
2011-01-13 01:25 - Pagerank Nedir?
2011-01-13 01:19 - Fireworks Shadow and Glow
2011-01-13 01:18 - Fireworks Sharpen
2011-01-13 01:16 - Fireworks Other
2011-01-13 01:13 - Fireworks Blur
2011-01-13 01:09 - Fireworks Bevel and Emboss
2011-01-13 01:05 - Fireworks Adjust Color
2011-01-13 01:03 - Fireworks Save as Style
2011-01-13 00:58 - Fireworks Text Menüsü
2011-01-13 00:54 - Fireworks Select Menüsü
2011-01-13 00:54 - Fireworks Modify Menüsü
2011-01-13 00:51 - Fireworks View Menüsü
2011-01-13 00:18 - Fireworks Edit Menüsü
2011-01-13 00:16 - Fireworks File Menüsü
2011-01-13 00:05 - İnternet - Web Tarayıcılar (Browser)
2011-01-13 00:04 - İnternet - Web Server Yazılımları
2011-01-13 00:03 - İnternet ve Web İlişkisi
2011-01-13 00:02 - İnternette Kullanılan Protokoller
2011-01-13 00:01 - İnternet - World Wide Web (WWW) Nedir?
2011-01-13 00:00 - İnternet - URL nedir?
2011-01-12 23:43 - İnternet Backorder Nedir?
2011-01-12 23:34 - İnternet - Virüs Nedir?
2011-01-12 23:32 - İnternet Paypal nedir? Nasıl Kullanılır?
2011-01-12 23:31 - İnternet - DNS Nedir?
2011-01-12 23:29 - İnternet - FTP Nedir, Nasıl Kullanılır?
2011-01-12 23:21 - İnternet IP Gizleme
2011-01-12 23:18 - İnternet Dijital İmza Nedir?