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.