Son Haberler
Son Yorumlar
ife: :D :D sadece gülüyorum :D..
para kazanmak: Çok farklı para kaza..
ziyaretçi: Güzel bilgilendirme, te&#..
ogreicom: tsk ederim
huseyin2323: indir butonunu tık..
RSS
Icon Anasayfa > Makaleler > Yazılım & Programlama > MySQL: Kurulumu ve kullanımı
Merhaba Ziyaretçi
IP: 38.107.191.95

Kullanıcı Adı
Şifre
Icon Anket
En gelişmiş teknolojiye hangi ülke sahip?
Japonya
Amerika
İran
İngiltere
Hiçbiri
 
Icon Arama
Icon online kullanıcı
0 Kullanıcı
5 Tekil
5 Toplam
MySQL: Kurulumu ve kullanımı
Tarih 30/03/2009 01:52  Yazar oktayozturk  Hitler 222  Dil Varsayılan
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.

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.

color=#003366www.mysql.com 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(12 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 I /bin/bash |
+--------------+------------------+-------------+-----------+
1 row in set (0.00 sec)[/b][/spoiler]

Yorum Yok.
© Copyright Teknoturka.NET Her hakkı saklıdır.
MemHT Portal
 
Sitemizde yayınlanan içerik, izin alınmadan ve kaynak gösterilmeden kullanılamaz.
Anasayfa | Site Haritasi | Bize Yazın | Reklam | Hosting