Tekil Mesaj gösterimi
Alt 09-03-2007, 19:26   #1
Meric
Yardımcı Admin
 
Meric - ait Kullanıcı Resmi (Avatar)
 
Temel MySQL Kullanımı

Mysql açıkkod camiasının güvenle desteklediği açık kaynak kodlu, özgür,ilişkisel bir veritabanı yönetim sistemidir.Bu özellikleri ile birlikte MySQL Windows/Unix/Linux ve daha bir çok platformda sorunsuzca çalışabilir,ihtiyacınıza göre ücretsiz yada ticari versiyonlarını tercih edebilirsiniz.Piyasada bulunan birçok dile sağladığı API ile kullanımı günden güne yaygınlaşmaktadır.

Özellikle apache(web sunucusu),PHP(betik dili) ve MySQL (vtys) üçlüsünü kullanan siteler son yıllarda büyük artış gösterdi,kullandığınız Linux'lerde bu programların çoğu öntanımlı olarak kurulu geliyor,

Mysql i iki ana kısımda inceleyebiliriz,

Mysql-server ve mysql, mysql-server veritabanı sunucu işlemini yapar mysql ise sunucuyu yonetmek icin ve veritabanının kullanmak için gerekli program parçacıklarını içerir.

Red Hat Linux kullanıyorsanız mysql paketlerinin sistemde kurulu olup olmadığını aşağıdaki komutla anlayabilirsiniz.
Kod:
[root@proxy root]# rpm -qa|grep mysqlmysql-server-3.23.58-4mysql-3.23.58-4

Mysql sunucu yazılımını kullanmak

Red Hat benzeri sistemlerde mysql serveri başlatmak, durdurmak vs gibi işlemler için /etc/init.d/mysqld adında bir script bulunur,işleyişin nasıl gerçekleştiğini anlamak için bu dosyayı inceleyebilirisiniz.Dosya basitçe bash betik dili ile yazılmıştır.

[root@proxy root]# /etc/init.d/mysqld
Usage: /etc/init.d/mysqld {start|stop|status|condrestart|restart}

Komutunu verdiğimizde hangi seçenekler ile birlikte kullanabileceğimizi görürüz,buradan mysql sunucuyu başlatmak için,

[root@proxy root]# /etc/init.d/mysqld start
Starting MySQL: [OK]

Durdurmak içinse ,

[root@proxy root]# /etc/init.d/mysqld stop
Stopping MySQL:
Komutlarını kullanabiliriz.


NOT:mysql'i başlatmak istediğinizde aşağıdaki hatayı alıyorsanız , [root@proxy root]# /etc/init.d/mysqld start
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]

/etc/init.d/mysqld dosyasını açıp mysqladmin ping kelimelerinin yanyana geçtiği satırları bulup aşağıdaki gibi değiştiriniz.
Kod:
Mysqladmin -u mysqld ping.



Ana Konfigürasyon dosyası

Mysql sunucu yazılımının çeşitli değerleri vardır,mesela oluşturulan veritabanı dosyalarının hangi dizin altında saklanacağı,hata dosyalarının nerde saklanacağı vs.İşte bunlar için mysql /etc/my.cnf adlı dosyayı kullanır bu dosyayı açtığınızda içinde mysql sunucusunun çalışmasını düzenleyecek değerler bulabilirsiniz. [root@hydrian root]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


Benim sunucumda vertitabanı dosyaları /var/lib/mysql dizini altında saklanıyorumuş,ben mysql'de bir veritabanı oluşturduğumda buna ait dosyalar /var/lib/mysql dizini altında oluşturduğum veritabanı ile aynı isimde kaydedilir. Mesela snort isimli bir veri tabanı oluşturduğumu farzedersem, /var/lib/mysql/snort adlı dizinin oluşması lazım.
[root@proxy root]# ls -l /var/lib/mysql/
total 12
drwx------ 2 mysql mysql 4096 Jul 16 10:11 mysql
srwxrwxrwx 1 mysql mysql 0 Jul 22 11:03 mysql.sock
drwx------ 2 mysql mysql 4096 Jul 16 10:59 snort
drwx------ 2 mysql mysql 4096 Jul 16 10:11 test

buradan da snort isimli veritabanına ait dosyaları görmek istersem

[root@proxy root]# ls -l /var/lib/mysql/snort/
total 3952
-rw-rw---- 1 mysql mysql 8614 Jul 16 10:55 data.frm
-rw-rw---- 1 mysql mysql 0 Jul 16 10:55 data.MYD
-rw-rw---- 1 mysql mysql 1024 Jul 16 10:55 data.MYI
-rw-rw---- 1 mysql mysql 8606 Jul 16 10:55 detail.frm
-rw-rw---- 1 mysql mysql 40 Jul 16 10:55 detail.MYD
-rw-rw---- 1 mysql mysql 2048 Jul 16 15:56 detail.MYI
-rw-rw---- 1 mysql mysql 8614 Jul 16 10:55 encoding.frm
-rw-rw---- 1 mysql mysql 60 Jul 16 10:55 encoding.MYD
-rw-rw---- 1 mysql mysql 2048 Jul 16 15:56 encoding.MYI
-rw-rw---- 1 mysql mysql 8642 Jul 16 10:55 event.frm
-rw-rw---- 1 mysql mysql 0 Jul 16 10:55 event.MYD
...
komutunu verebilirim.
__________________


http://img81.imageshack.us/img81/9771/topmain8dd3mg5.jpg
Meric Ofline   Alıntı ile Cevapla