Komut Satırını Kullanarak MySQL'de Veritabanlarını İçe ve Dışa Aktarma ⋆ ALexHost SRL

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
10.12.2024

Komut Satırını Kullanarak MySQL’de Veritabanlarını İçe ve Dışa Aktarma

Veritabanı yedeklemelerini ve geçişlerini yönetmek her MySQL veritabanı yöneticisi için önemli bir görevdir. Komut satırını kullanarak veritabanlarını kolayca yedekleme dosyalarına aktarabilir veya yeni bir ortama aktarabilirsiniz. Bu kılavuz, komut satırını kullanarak MySQL’de veritabanlarının nasıl içe ve dışa aktarılacağını kapsar.

Ön Koşullar

Başlamadan önce şunlardan emin olun:

  • MySQL sunucunuzda veya yerel makinenizde yüklü ve çalışıyor.
  • Bir terminale veya komut satırına erişiminiz var.
  • Kullanıcı adı ve parola da dahil olmak üzere gerekli MySQL kimlik bilgilerine sahipsiniz.

Veritabanlarını mysqldump ile Dışa Aktarma

Mysqldump yardımcı programı MySQL’de veritabanlarını dışa aktarmak için kullanılan standart araçtır. Veritabanını yeniden oluşturmak için gereken SQL deyimlerini içeren bir .sql dosyası oluşturur.

1. Tek Bir Veritabanını Dışa Aktarma

Tek bir veritabanını dışa aktarmak için aşağıdaki sözdizimini kullanın:

mysqldump -u [kullanıcı adı] -p [veritabanı_adı ]> [dosya adı].sql
  • -u [kullanıcı adı]: MySQL kullanıcı adı.
  • -p: MySQL parolasını sorar.
  • [veritabanı_adı]: Dışa aktarmak istediğiniz veritabanının adı.
  • [dosya_adı].sql: Veritabanı yedeğini içerecek çıktı dosyasının adı.

Örnek:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

Bu komut root kullanıcısının parolasını isteyecek ve mydatabase_backup.sql adında mydatabase’in tüm verilerini ve yapısını içeren bir dosya oluşturacaktır.

2. Birden Fazla Veritabanını Dışa Aktarma

Birden fazla veritabanını dışa aktarmak için –databases bayrağını ve ardından veritabanlarının adlarını kullanın:

mysqldump -u [kullanıcı adı] -p --databases [database1 ] [database2 ]> [dosya adı].sql

Örnek:

mysqldump -u root -p --databases db1 db2 > multiple_databases_backup.sql

Bu komut hem db1 hem de db2’yi multiple_databases_backup.sql dosyasına aktaracaktır.

3. Tüm Veritabanlarını Dışa Aktar

MySQL sunucunuzdaki tüm veritabanlarını dışa aktarmak için –all-databases bayrağını kullanın:

mysqldump -u [kullanıcı adı] -p --all-databases > all_databases_backup.sql

Örnek:

mysqldump -u root -p --all-databases > all_databases_backup.sql

Bu, tüm veritabanlarının all_databases_backup.sql dosyasına tam yedeğini oluşturur.

4. Yalnızca Tablo Yapısını Dışa Aktar (Veri Yok)

Veriler olmadan yalnızca tabloların yapısına ihtiyacınız varsa, –no-data bayrağını ekleyin:

mysqldump -u [kullanıcı adı] -p --no-data [veritabanı_adı] > structure_only.sql

Örnek:

mysqldump -u root -p --no-data mydatabase > structure_only.sql

5. Belirli Tabloları Dışa Aktarma

Bir veritabanından belirli tabloları dışa aktarmak için, veritabanı adından sonra bunları listeleyin:

mysqldump -u [kullanıcı adı] -p [veritabanı_adı ] [tablo1 ] [tablo2 ]> [dosya adı].sql

Örnek:

mysqldump -u root -p mydatabase table1 table2 > tables_backup.sql

Veritabanlarını mysql ile içe aktarma

Bir SQL dosyasından bir veritabanını içe aktarmak için mysql komutunu kullanın.

1. Tek Bir Veritabanını İçe Aktarma

Bir SQL dosyasını MySQL veritabanına aktarmak için aşağıdaki komutu kullanın:

mysql -u [kullanıcı adı] -p [veritabanı_adı ]< [dosya adı].sql
  • -u [kullanıcı adı]: MySQL kullanıcı adı.
  • -p: MySQL parolasını sorar.
  • [veritabanı_adı]: Verilerin içe aktarılacağı veritabanının adı.
  • [dosya_adı].sql: İçe aktarılacak .sql dosyasının adı.

Örnek:

mysql -u root -p mydatabase < mydatabase_backup.sql

Bu komut root kullanıcısının parolasını soracak ve mydatabase_backup.sql dosyasının içeriğini mydatabase dosyasına aktaracaktır.

2. Yeni Bir Veritabanına Aktarma

Yeni bir veritabanına aktarmak istiyorsanız, önce veritabanını oluşturmanız ve ardından .sql dosyasını içe aktarmanız gerekir.

Adım 1: Yeni bir veritabanı oluşturun.

mysql -u [kullanıcı adı] -p -e "CREATE DATABASE [new_database_name];"

Adım 2: .sql dosyasını yeni veritabanına aktarın.

mysql -u [kullanıcı adı] -p [yeni_veritabanı_adı ]< [dosya adı].sql

Örnek:

mysql -u root -p -e "CREATE DATABASE newdatabase;"
mysql -u root -p newdatabase < mydatabase_backup.sql

3. Tüm Veritabanlarını İçe Aktar

Tüm veritabanlarını –all-databases kullanarak yedeklediyseniz, bunları kullanarak geri alabilirsiniz:

mysql -u [kullanıcı adı] -p < all_databases_backup.sql

Örnek:

mysql -u root -p < all_databases_backup.sql

Bu komut all_databases_backup.sql dosyasında bulunan tüm veritabanlarını geri yükleyecektir.

Mysqldump ve mysql Kullanımı için İpuçları

  • Sıkıştırma Kullanın: Disk alanından ve aktarım süresinden tasarruf etmek için yedekleme dosyasını gzip kullanarak sıkıştırabilirsiniz:
    mysqldump -u root -p mydatabase | gzip > mydatabase_backup.sql.gz

    Ve ithal etmek için:

    gunzip < mydatabase_backup.sql.gz | mysql -u root -p mydatabase
  • İçe Aktarmadan Önce Veritabanını Doğrulayın: Çakışmaları önlemek için içe aktardığınız veritabanının boş olduğundan veya uyumlu veriler içerdiğinden emin olun.
  • Karakter Setini Kontrol Edin: ASCII olmayan karakterlerle çalışıyorsanız, –default-character-set seçeneğini kullanarak doğru karakter kümesiyle dışa ve içe aktardığınızdan emin olun:
    mysqldump -u root -p --default-character-set=utf8 mydatabase > mydatabase_backup.sql
  • Hata İşleme: İçe aktarma sırasında hatalarla karşılaşırsanız, eksik veritabanları veya tablo yapıları gibi yaygın sorunları kontrol edin ve .sql dosyanızın eksiksiz olduğundan emin olun.

Özet

MySQL veritabanlarını komut satırını kullanarak dışa ve içe aktarmak mysqldump ve mysql ile kolaydır. Bu araçlar yedeklemelerin yönetilmesinde, veritabanlarının sunucular arasında taşınmasında ve yalnızca yapıya ya da verilere özgü dışa aktarımların oluşturulmasında esneklik sağlar. Komutları ve seçeneklerini anlayarak, sorunsuz veritabanı işlemleri sağlayabilir ve aktarımlar sırasında veri bütünlüğünü koruyabilirsiniz.

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills