Temel MySQL Kullanımı

Forumlar › Forumlar › Taraftar › Gündem Dışı › Webmaster › Temel MySQL Kullanımı

2 yazı görüntüleniyor – 1 ile 2 arası (toplam 2)
  • Yazar
    Yazılar
  • #1148646
    Meric
    Katılımcı

      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.

      #1480524
      Meric
      Katılımcı

        Mysql Komutları

        Mysql sunucumuzu çeşitli grafik arabirimlerle kullanabileceğimiz gibi komut satırından da kullanabiliriz,fakat komut satırından kullanım genelde yönetim işlemleri için tercih edilir ,diğer işlemler için veritabanı tasarımınız geliştikçe işinizin zorlaşacağını söyleyebilirim.

        Mysql sunucuya bağlanma

        [root@proxy root]# mysql -u root -h localhost -p Enter password:
        Welcome to the MySQL monitor. Commands end with ; or g.
        Your MySQL connection id is 9 to server version: 3.23.58

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

        mysql>
        -u ile kullanıcı adı
        -h ile mysql sunucunun çalıştığı sistem
        -p ile de parolayı belirtebilirsiniz.
        **-p nin yanına parolayı bitişik yazmazsanız parolayı bir alt satırda isteyecektir.

        [root@proxy root]# mysql -u root -h localhost -p
        Enter password:
        Welcome to the MySQL monitor. Commands end with ; or g.
        Your MySQL connection id is 9 to server version: 3.23.58

        Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
        mysql> quit
        Bye

        Mysql> ile başlayan satırlar bizim mysql sunucuda olduğumuzu ve sunucuya komut girdiğimizi gösterir.

        VeriTabanı İşlemleri

        Mysql sunucuya bağlandıktan sonra komutları girebilmemiz için mysql> şeklinde bir satırın geleceğini belirtmiştik.Şimdide o satırdan komutlarımızı girmeye başlayalım,ilk komutumuz deneme_123 adında bir veritabanı oluşturmak ve sonra bu veritabanını silmek.

        Veritabanı Oluşturma

        mysql> create database deneme_123
        Query OK, 1 row affected (0.03 sec)
        Mysql komutumuzun bittiğini anlamak için komut sonundaki ; karekterine bakar, ; karekterini koymazsak komutun bitmediğini düşünür ve bize devam etmemiz için bir alt satır açar.

        Oluşturduğumuz veritabanının dosyaları /var/lib/mysql/deneme_123 dizini altındadır.

        [root@proxy root]# ls -l /var/lib/mysql/
        total 16
        drwx


        2 mysql mysql 4096 Jul 22 14:17 deneme_123
        …
        ..

        Herhangibir Veritabanını silme;

        Herhangi bir veritabanını silmek istersek drop kullanırız.

        mysql> drop database deneme_123;
        Query OK, 0 rows affected (0.00 sec)

        VeriTabanında Sorgulama İşlemleri

        Sistemimizdeki tüm veritabanlarını göremek için,

        mysql > show databases;

        +


        +
        | Database |
        +


        +
        | deneme_123 |
        | mysql |
        | snort |
        | test |
        +


        +
        4 rows in set (0.00 sec)

        Listelenen bu veritabanlarından herhangi birine bağlanıp işlem yapabilmek için connect ya da use komutlarını kullanabiliriz,ben use komutunu tercih ediyorum. Deneme_123 veritabanını kullanabilmek için use deneme_123;şeklinde bir komut işimizi görecektir.

        mysql> use deneme_123;
        Database changed

        Kullanmak için bağlandığımız veritabanındaki tabloları görmek isteyebiliriz burada da show tables komutu bize yardımcı olur,

        mysql> use snort;
        Reading table information for completion of table and column names
        You can turn off this feature to get a quicker startup with -A

        Database changed
        mysql> show tables;

        +


        +
        | Tables_in_snort |
        +


        +
        | data |
        | detail |
        | encoding |
        | event |
        | sig_class |
        | sig_reference |
        | signature |
        | tcphdr |
        | udphdr |
        +


        +
        9 rows in set (0.00 sec)
        Bir sonraki yazıda mysqladmin aracını ,mysql için kullanıcı oluşturma ,kullanıcılara hak atama ve veritabanı için geçerli olan çeşitli sorgulama(tablo ekleme,silme,tabloya veri girme ,veri sorgulama vs) işlemlerini ele alacağız.

      2 yazı görüntüleniyor – 1 ile 2 arası (toplam 2)
      • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

      Yayımlandı

      kategorisi

      yazarı:

      Etiketler: