|
||||
| Sinema | Hava Durumu | Bloglar | Üye Albümleri | Gruplar | Referanslar | İstatistikler | Yasaklı Üyeler | Yerli Diziler | Yabancı Diziler |
|
|||||||
| Ana Sayfa | Forum | Üye Ol - Register | Yardım | Üye Listesi | Takvim | Arama | Bugünün Gönderileri | Forumları Okundu İsaretle |
| Linux / Unix Linux / Unix Hakkında Genel Bilgiler |
![]() |
|
|
LinkBack | Konu araçları |
|
|
#1 (permalink) |
|
Best Member
![]() User ID: 3
Giriş Tarihi: 20-10-2006
Yaş: 31
Mesajlar: 7,821
|
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
# 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
__________________
|
|
|
|
![]() |
| Etiketler |
| kullanimi, kurulumu, mysql |
| Konu araçları | |
|
|
| Desteklediklerimiz | |
| Reseller Hosting, Dedicated Server, ahosting.biz, ozmena Forum, TVPano Forum, Xyeni, Number1Forum | |