İçindekiler

    Yazıyı Dinle

    Hazır
    Tarayıcınızın yerleşik ses sentezi özelliğini kullanır.

    Yazı Boyutu

    Küçük Aa
    Normal Aa
    Büyük Aa
    Çok Büyük Aa

    Kaydet

    📑

    Bu makaleyi daha sonra okumak için kaydedin

    SQL Notları: Log Dosyaları

    Yazıyı dinlemek için oynat butonuna tıklayın

    MySQL, veritabanı işlemlerini izlemek ve hataları tespit etmek için çeşitli log dosyaları sunar. Bu yazıda, MySQL'deki önemli log dosyalarını ve bu logların nasıl yönetileceğini ele alacağız.

    #### 1. Yavaş Sorgu Logu (Slow Query Log)

    Yavaş sorgu logu, belirli bir süreden daha uzun süren sorguları kaydeder. Bu log, performans sorunlarını tespit etmek için kullanışlıdır.

    ##### Yavaş Sorgu Logunu Ayarlama

    Yavaş sorgu logunu etkinleştirmek ve log dosyasını belirlemek için aşağıdaki komutlar kullanılır:

    ```sql
    -- Yavaş sorgu logunun aktif olup olmadığını kontrol et
    SELECT @@slow_query_log;

    -- Yavaş sorgu log dosyasının yolunu görüntüle
    SELECT @@slow_query_log_file;

    -- Log dosyasının bulunduğu dizini görüntüle
    SELECT @@datadir;

    -- Yavaş sorgu logunu etkinleştir veya devre dışı bırak
    SET GLOBAL slow_query_log = 1;  -- Etkinleştir
    SET GLOBAL slow_query_log = 0;  -- Devre dışı bırak
    ```

    ##### Yavaş Sorgu Süresini Ayarlama

    Yavaş sorgu logunun hangi süreden daha uzun süren sorguları kaydedeceğini belirlemek için:

    ```sql
    -- Mevcut yavaş sorgu süresini görüntüle
    SELECT @@long_query_time;

    -- Yavaş sorgu süresini ayarla (örneğin, 2 saniye)
    SET GLOBAL long_query_time = 2;
    ```

    #### 2. Genel Sorgu Logu (General Query Log)

    Genel sorgu logu, tüm sorguları ve bağlantı bilgilerini kaydeder. Bu log, hata ayıklama için kullanışlıdır ancak performansı olumsuz etkileyebilir.

    ##### Genel Sorgu Logunu Ayarlama

    Genel sorgu logunu etkinleştirmek ve log dosyasını belirlemek için:

    ```sql
    -- Genel sorgu logunun aktif olup olmadığını kontrol et
    SELECT @@general_log;

    -- Genel sorgu log dosyasının yolunu görüntüle
    SELECT @@general_log_file;

    -- Genel sorgu logunu etkinleştir veya devre dışı bırak
    SET GLOBAL general_log = 1;  -- Etkinleştir
    SET GLOBAL general_log = 0;  -- Devre dışı bırak
    ```

    ##### Log Dosyasının Yerini Değiştirme

    Genel sorgu log dosyasının yerini değiştirmek için:

    ```sql
    SET GLOBAL general_log_file = '/path/to/new_log_file.log';
    ```

    #### 3. Hata Logu (Error Log)

    Hata logu, MySQL sunucusunun başlangıç ve durdurma bilgilerini, kritik hataları ve uyarıları kaydeder.

    ##### Hata Logunu Ayarlama

    Hata logunun yolunu ve detay seviyesini ayarlamak için:

    ```sql
    -- Hata log dosyasının yolunu görüntüle
    SELECT @@log_error;

    -- Hata logunun detay seviyesini ayarla
    SET GLOBAL log_warnings = 2;  -- Daha fazla detay için
    ```

    ##### Hata Logunun Yerini Değiştirme

    Hata log dosyasının yerini değiştirmek için MySQL yapılandırma dosyası (`my.cnf` veya `my.ini`) kullanılır:

    ```ini

    log_error = /path/to/error.log
    log_warnings = 2
    ```

    #### 4. Diğer Log Dosyaları

    - **Binary Log (Binlog):** Replikasyon ve yedekleme için kullanılır. `log_bin_basename` değişkeni ile kontrol edilir.
    - **Relay Log:** Replikasyon sırasında kullanılır.
    - **InnoDB Redo Log:** InnoDB depolama motoru tarafından kullanılır ve `iblog*` dosyalarında saklanır.

    #### Sonuç

    MySQL'de log dosyaları, veritabanı işlemlerini izlemek, performans sorunlarını tespit etmek ve hataları ayıklamak için kritik öneme sahiptir. Yavaş sorgu logu, genel sorgu logu ve hata logu gibi loglar, veritabanı yönetimini daha etkili hale getirir. Bu logları doğru şekilde yapılandırarak, veritabanı performansını artırabilir ve olası sorunları önceden tespit edebilirsiniz. Bir sonraki yazıda görüşmek üzere!

    Önceki Yazı
    SQL Notları: partitioning, replication

    MySQL'de bölümleme ve çoğaltma, büyük veri kümelerini yönetmek ve yükse...

    Sonraki Yazı
    SQL Notları: Transactions

    MySQL'de işlemler (transactions), bir grup SQL ifadesini tek bir iş birimi ola...