Ana Sayfa   Forum   Bloglar   Albümler   Sinema   Yerli Dizi   Yabancı Dizi   Gruplar

AtaBB Forum   Türkçe-Turkish İngilizce-English

 Advanced Search

ATABB


Her Zaman Daha İyisini Arayanın

 

Geri Git   AtaBB Community > AtaBB Teknoloji > Linux / Unix

Linux / Unix Linux / Unix Hakkında Genel Bilgiler

Konunun Derecesi - MySQL: Kurulumu ve kullanımı.

Cevapla
 
LinkBack Konu araçları
Eski 01-12-2006, 04:44 PM   #1 (permalink)
Zero Relax
Best Member
 
User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
Standart MySQL: Kurulumu ve kullanımı


MySQL: Kurulumu ve kullanımı

MySQL ve PostgreSQL Gelecek Linux ile birlikte gelen, ücretsiz ve oldukça kullanışlı iki veritabanıdır. Yahoo ve Nasa tarafından da kullanılan MySQL, Linux, Apache ve PHP dörtlüsü web uygulama geliştirmede tüm dünyada sıkça kullanılır. Bu yazıda MySQL'e genel bir giriş yapılacak, kurulumu ve kullanımı anlatılacaktır.

İçindekiler
MySQL AB :: The world's most popular open source database web sayfasından hem .tar.gz, hem de RPM biçiminde alınabilecek olan bu veritabanı GL 1.1'in 2. CD'sinde gelmektedir. MySQL'den en yüksek verimi almak için, aşağıdaki paketleri sisteme kurmalısınız.
  • mysql: MySQL temel dosyaları ve kütüphaneleri (şart)
  • mysql-devel: MySQL geliştirme için başlık dosyaları
  • php-mysql: Php ve MySQL bağlantısı için gereken yordamlar (MySQL/PHP programlama yapılacaksa şart)
  • mysql-server: MySQL sunucu (şart)
  • mod_auth_mysql: Apache'nin mod_auth özelliği ile MySQL bağlantısı yapması için gerekli dosyalar
Bu paketlerin sistemde kurulu olup olmadıklarını öğrenmek için, aşağıdaki komut işe yarayacaktır:
# export LANG=en
# rpm -qa | grep mysql
mysql-3.23.24-1
mysql-devel-3.23.24-1
php-mysql-4.0.3pl1-1
mysql-server-3.23.24-1
mod_auth_mysql-2.20-1


Eğer paketler kurulu değil ise, CD'yi sürücüye takın ve aşağıdaki işlemleri yapın:
# mount /dev/cdrom
# cd /mnt/cdrom/Gelecek/RPMS
# rpm -i *mysql* --nodeps

Yukarıdaki komutlar CD sürücüyü /mnt/cdrom dizinine bağlayacak ve /mnt/cdrom/Gelecek/RPMS dizini altında, içinde tüm mysql satırı geçen programları sisteme kuracaktır.

MySQL'in çalıştırılması

Gelecek Linux'ta, diğer tüm dağıtımlarda olduğu gibi sunucuları başlatmak, durdurmak, durumlarını öğrenmek ve yeniden çalıştırmak için /etc/init.d betikleri kullanılır. MySQL'i kurunca bu veritabanını başlatabilmek için, aşağıdaki komutu (root kullanıcısı haklarıyla) bir terminalden yazın.
# /etc/init.d/mysqld start
MySQL başlatılıyor: [TAMAM]

MySQL çalışmaya başlayacaktır. 'start' yerine 'stop' komutunun verilmesi halinde ise veritabanı durur.

MySQL parolasının düzenlenmesi

MySQL ilk çalıştırıldığı zaman bunu kullanacak olan sistem yöneticisinin (root), parolasını hemen değiştirmesi gereklidir.
Aşağıdaki komutu inceleyin.
# mysqladmin -u root password "yeni parola"

Yukarıdaki komutu (tırnaklar kullanmadan) yazarsanız MySQL veritabanını kullanacak olan root'un parolasını "yeni parola" olarak atamış olursunuz. MySQL veritabanı Linux'taki kullanıcı hesaplarının tutulduğu /etc/passwd ve /etc/shadow dosyalarına bakmaz. Bu veritabana erişim yapmak isteyen her kullanıcı açıkça MySQL'e belirtilmelidir.
Şimdi root kullanıcısı olarak aşağıdaki komut yardımıyla MySQL veritabanına giriş yapabilirsiniz:
# mysql -u root -p mysql
Enter password:
Welcome to the MySQL monitor. Commands end with ;
or \g. Your MySQL connection id is 11 to server
version: 3.23.24-beta-log

mysql>

Yukarıda belirttiğimiz komut satırı parametrelerinden -u, kendisinden sonra gelen kullanıcıyla (root) MySQL'e bağlantı yapılacağını söyler. -p parametresi ise, bu komutu yazdıktan sonra bizden bir komut istemcisi üzerinden parolayı ister. Parolayı -p'den hemen sonra da yazabilirsiniz, ancak parolayı verirken arada boşluk bırakmamanız gerekiyor:
# mysql -u root -pparolam mysql

Yukarıdaki MySQL bağlantı komutunun en sonunda yeralan "mysql" ise, bu sunucudaki hangi veritabanına bağlantı kurulacağını söyleyecektir. Öntanımlı olarak, yerel makinanızda mysql adında bir veritabanı önceden tanımlıdır. Şimdi tam olarak çalışan bir MySQL sunucuya sahipsiniz.

MySQL ayarları

MySQL dağıtımının .tar.gz biçimiyle birlikte 4 farklı MySQL yapılandırma dosyası gelir. Bunlar my-huge.conf (1 Gb ve daha fazla bellekli sistemler için), my-large.conf (512 Mb'a kadar belleğe sahip olan sistemler için), my-medium.conf (32 Mb - 128 Mb arası belleğe sahip olan sistemler için) ve my-small.conf (64 Mb belleğe sahip sistemler için).
Bu dosyaların bir tanesini /etc altına "my.cnf" adıyla yerleştirmekle MySQL'e açılış anında çeşitli parametreler vermek mümkündür. Ancak bu dosyanın içinin boş olması halinde bile MySQL sorunsuz olarak çalışacaktır.
Biz burada my-medium.cnf dosyasını örnek alarak bir /etc/my.cnf yapılandırma dosyası hazırlayalım. # Örnek /etc/my.cnf yapılandırma dosyası

# Key-buffer parametresi, ne kadar belleğin index
# verileri için tutulacağını gösterir. Buradaki rakamın
# (16 Mb) yüksek tutulması MySQL'in performansını
# hissedilir derecede artırır.
key-buffer=16M

# table_cache, MySQL'in aynı anda açık tablo sayısını verir.
# Eğer büyük # bir veritabanı sistem kullanıyorsanız, bu
# rakamı artırmalısınız.
table_cache=128

# MySQL içinde "ORDER BY" ve "GROUP BY" parametrelerini çok
# kullanmanız halinde sort_buffer değerini yükseltin.
sort_buffer=512K

# myisam_sort_buffer_size parametresi, bir indeks
# yaratılırken ya da bir tablo düzenlenirken kullanılacak
# tampon bölgesi büyüklüğünü tanımlar.
myisam_sort_buffer_size=8M
Hazırlanan bu dosyayı /etc altında kopyalayın. Eğer /etc/my.cnf dosyası zaten varsa, bunu silin. # /etc/my.cnf
# cp my.cnf /etc/my.cnf
Bu aşamalardan sonra MySQL başlatıldığı zaman /etc/my.cnf dosyasını okuyacaktır.

MySQL'e yeni sistem kullanıcısı eklenmesi

Yukarıdaki ayarlardan sonra MySQL veritabanı root kullanıcısı altında rahatlıkla kontrol edilebilir. MySQL veritabanı, bir kullanıcının veritabanı bilgilerine tüm haklarla erişmesine, diğerinin sadece okumasına, bir başkasının da sadece yazmasına izin verebilir. Bazı geniş sistemlerde root dışında da kullanıcılar tanımlanır ve her kullanıcı veritabanının farklı bölgelerini denetleyebilir.
Şimdi veritabanına yeni bir kullanıcı ekleyelim. Bunu yapmak için aşağıdaki örneği inceleyin: # mysql -u root -p mysql
Enter password:

mysql> GRANT ALL PRIVILEGES ON *.* TO akgun@localhost
IDENTIFIED BY 'akgunparola' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Yukarıdaki komutu yazıp exit ile sistemden çıktığınız zaman akgun kullanıcısı, MySQL veritabanına tam yetkiler verilen bir kullanıcı haline gelir. Herhangi bir kullanıcı ile sisteme telnet ile girip, aşağıdaki komutu çalıştırdıktan sonra MySQL'e yeni veritabanı ekleyebilir, silebilir, başka yetkili kullanıcı tanımlayabilirsiniz.
# mysql -u akgun -p mysql


MySQL'e normal bir kullanıcı eklenmesi

Yukarıda "GRANT ALL" ile başlayan MySQL satırı yardımıyla bir kullanıcıya tam yetki vermiştik. Şimdi ise bir tabloda bulunan verileri güncelleyebilecek, yeni veri ekleyebilecek bir kullanıcı tanımlayalım. Yapmanız gereken tek işlem, sadece yukarıda "GRANT ALL" satırı yerine "GRANT SELECT, INSERT, DELETE, UPDATE" getirmek.

Örnek bir veritabanı yaratılması

Aşağıdaki komut MySQL'de kullanicilar veritabanını açacaktır.
mysql> CREATE DATABASE kullanicilar;
Query OK, 1 row affected (0.00 sec)

Yeni veritabanına bağlantı kurmak için mysql'den çıkmak ve aşağıdaki komutu çalıştırmak yeterlidir: $ mysql -u root -p kullanicilar
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18 to server version: 3.23.

Type 'help;' or '\h' for help. Type '\c' to clear
the buffer

mysql>
Şimdi veritabanımıza bir kaç bilgi aktaralım. Bunun için yapacağınız işlem çok basit. Önce veritabanında tutacağınız tabloyu (table) tasarlayın. Ardından bunları MySQL'e girin. # mysql -u root -p kullanicilar
mysql> CREATE TABLE parolalar (
-> kullaniciadi varchar(15) not null,
-> crypt varchar(128) not null,
-> gercekadi varchar(50) not null,
-> kabugu varchar(10) not null
-> );
Query OK, 0 rows affected (0.01 sec)
Şimdi kullanicilar veritabanı içinde parolalar tablosunu yukarıdaki gibi oluşturmuş olduk. Bunu görebilmek için aşağıdaki komutu kullanın. mysql>insert into parolalar values ('ilhan',md5('ilhanparola'),
'Murat Ilhan', '/bin/bash');
Query OK, 1 row affected (0.00 sec)

mysql> select * from parolalar;
+--------------+------------------+-------------+-----------+
| kullaniciadi | crypt | gercekadi | kabugu |
+--------------+------------------+-------------+-----------+
| ilhan | 10de2b0e8c2cbd52a| Murat Ilhan | /bin/bash |
+--------------+------------------+-------------+-----------+
1 row in set (0.00 sec)


Son olarak

MySQL veritabanı burada aktarmaya çalışılan bilgilerin çok ötesindedir ve çok geniş kullanım alanları vardır. Daha geniş kullanım bilgisi için MySQL AB :: The world's most popular open source database ve MySQL/PHP bağlantısı için Türkiye PHP Grubu - Anasayfa adreslerine göz atın.
(C) 2001, Gelecek A.Ş Dokümantasyon Servisi
__________________
Oyun bitince şah da, piyon da aynı kutuya konur...

Haberler Hakkındaki Şikayetler...



.
Zero Relax Çevrimdışı  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı Yaparak Cevapla
Cevapla

Etiketler
kullanimi, kurulumu, mysql

Konu araçları

Gönderi Kuralları
Kendi yeni konularını düzeltemezsin
Kendi mesaj cevap yazamazsın
Kendi mesaj eklentilerini düzeltemezsin
Kendi mesajlarını düzeltemezsin

BB Kod Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Forum saati Türkiye saatine göredir. GMT +3. Şuan saat: 09:02 AM.


Desteklediklerimiz
Reseller Hosting, Dedicated Server, ahosting.biz, ozmena Forum, TVPano Forum, Xyeni, Number1Forum


Powered by vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO