İç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ı: mysqlimport ve mysqldump

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

    MySQL, veri yönetimi ve yedekleme işlemleri için güçlü araçlar sunar. Bu yazıda, **mysqlimport** ve **mysqldump** araçlarının temel kullanımını ve bu araçlarla gerçekleştirilebilecek işlemleri ele alacağız.

    ---

    ### `mysqlimport` ile Veri İçe Aktarma

    `mysqlimport`, metin dosyalarındaki verileri MySQL tablolarına hızlı bir şekilde aktarmak için kullanılan bir araçtır. Bu araç, özellikle büyük veri kümelerini veritabanına aktarmak için oldukça kullanışlıdır.

    #### Temel Kullanım
    Örnek bir metin dosyası (`employee.txt`) aşağıdaki gibi olsun:

    ```
    1 \t Arthur Dent
    2 \t Marvin
    3 \t Zaphod Beeblebrox
    ```

    Bu dosyayı bir MySQL tablosuna aktarmak için aşağıdaki komutu kullanabilirsiniz:

    ```bash
    mysqlimport --user=user --password=password mycompany employee.txt
    ```

    Bu komut, `employee.txt` dosyasındaki verileri `mycompany` veritabanındaki `employee` tablosuna aktarır.

    #### Özel Alan Ayırıcı Kullanımı
    Eğer dosyadaki alanlar farklı bir karakterle ayrılmışsa (örneğin `!`), `--fields-terminated-by` seçeneğini kullanabilirsiniz:

    ```bash
    mysqlimport --fields-terminated-by='!' mycompany employee.txt
    ```

    #### Yinelenen Anahtarları Yönetme
    Eğer tabloda yinelenen anahtarlar varsa, `--ignore` veya `--replace` seçeneklerini kullanabilirsiniz:

    - `--ignore`: Yinelenen anahtarları görmezden gelir.
    - `--replace`: Yinelenen anahtarları yeni verilerle değiştirir.

    ```bash
    mysqlimport --ignore mycompany employee.txt
    mysqlimport --replace mycompany employee.txt
    ```

    ---

    ### `mysqldump` ile Veri Yedekleme

    `mysqldump`, MySQL veritabanlarını yedeklemek için kullanılan bir araçtır. Bu araç, veritabanının tamamını veya belirli tabloları SQL formatında dışa aktarır.

    #### Veritabanı Yedekleme
    Bir veritabanının tamamını yedeklemek için aşağıdaki komutu kullanabilirsiniz:

    ```bash
    mysqldump -u username -p db_name > backup.sql
    ```

    Bu komut, `db_name` veritabanını `backup.sql` dosyasına aktarır.

    #### Birden Fazla Veritabanını Yedekleme
    Birden fazla veritabanını yedeklemek için `--databases` seçeneğini kullanabilirsiniz:

    ```bash
    mysqldump -u username -p --databases db1 db2 > backup.sql
    ```

    #### Tablo Yedekleme
    Belirli bir tabloyu yedeklemek için aşağıdaki komutu kullanabilirsiniz:

    ```bash
    mysqldump -u username -p db_name table_name > table_backup.sql
    ```

    #### Yedekten Geri Yükleme
    Yedeklenen bir veritabanını geri yüklemek için aşağıdaki komutu kullanabilirsiniz:

    ```bash
    mysql -u username -p db_name < backup.sql
    ```

    ---

    ### İleri Seviye Kullanım Örnekleri

    #### Sıkıştırılmış Yedekleme
    Yedekleme sırasında dosyayı sıkıştırmak için `gzip` kullanabilirsiniz:

    ```bash
    mysqldump -u username -p db_name | gzip > backup.sql.gz
    ```

    #### Uzak Sunucudan Yedekleme
    Uzak bir sunucudan yedek almak için `-h` seçeneğini kullanabilirsiniz:

    ```bash
    mysqldump -h remote_host -u username -p db_name > backup.sql
    ```

    #### Saklı Prosedürler ve Fonksiyonlarla Yedekleme
    Saklı prosedürler ve fonksiyonları da yedeklemek için `--routines` seçeneğini ekleyin:

    ```bash
    mysqldump -u username -p -R db_name > backup_with_routines.sql
    ```

    ---

    ### Sonuç

    `mysqlimport` ve `mysqldump`, MySQL veritabanlarını yönetmek ve yedeklemek için vazgeçilmez araçlardır. Bu araçlar, büyük veri kümelerini verimli bir şekilde yönetmenize ve yedeklemenize olanak tanır. Doğru yapılandırıldığında, bu araçlar veritabanı yönetimini kolaylaştırır ve veri güvenliğini artırır. Bu yöntemleri uygularken, veri tutarlılığını korumak ve olası hataları dikkatlice yönetmek önemlidir.

    Önceki Yazı
    SQL Notları: `LOAD DATA INFILE` ve `UNION`

    `LOAD DATA INFILE` ve `UNION` operatörü, MySQL'de veri yönetimi ve sorgulama ...

    Sonraki Yazı
    SQL Notları: partitioning, replication

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