MySQL veritabanı kullanıyorum ve bir Ubuntu Linux makinesi kullanıyorum.
Adlı Benim veritabanı db_test
, ben yolu altında olduğunu fark /var/lib/mysql/db_test
, dosyalar vardır ile soneki .frm
, .MYD
, .MYI
aşağıdaki gibi:
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
customers.MYI
departments.frm
departments.MYD
departments.MYI
...
Her görünüyor .frm
, .MYD
, .MYI
dosyalar grup veritabanında bir tabloyla eşlenen.
Sorulacak iki sorum var:
Üç dosya tam olarak ne yapıyor?
Ben yolun altında yeni bir dizin oluşturursanız
/var/lib/mysql/
söz hakkındandb_test_2
ve her dosyayı kopyalamakdb_test_1
için dizinedb_test_2
, o da yeni bir veritabanı yaratacakdb_test_2
tamamen aynı içeriği (tablolar) sahiptirdb_test_1
's?
Bu fiziksel olarak hareket eden veritabanı dosyaları eylemi aşağıdaki komut satırı eylemleriyle aynı sonucu yaratır mı?
veritabanını
db_test_1
boşaltyeni bir veritabanı oluştur
db_test_2
sonra
db_test_1
yeni veritabanına geri veritabanı dökümüdb_test_2
?
Öyleyse, dosyaları taşımak mysqldump
(veya MySQL'de bir DB'den başka bir DB'ye veri almak) için dosyaları taşımaktan çok daha hızlı görünüyor . Bu konuda herhangi bir görüşünüz var mı?
mysqldump
2 saniyenin altında benim db yapabilirsiniz . Geri yükleme 5-10 dakika süren yavaş kısımdır.