Bir MySQL veritabanını nasıl hızlı bir şekilde yeniden adlandırabilirim (şema adını değiştirme)?

MySQL]1 adresindeki MySQL kılavuzunda bu konu ele alınmaktadır.

Genellikle veritabanını boşaltıyor ve yeni bir adla yeniden içe aktarıyorum. Bu çok büyük veritabanları için bir seçenek değil. Görünüşe göre RENAME {DATABASE | SCHEMA} db_name TO new_db_name; kötü şeyler yapıyor, sadece bir avuç sürümde var ve genel olarak kötü bir fikir.

Bunun, MyISAM'den çok farklı şeyler depolayan InnoDB ile çalışması gerekir.

Üç seçenek var:

  1. Yeni veritabanını oluşturun, sunucuyu kapatın, dosyaları bir veritabanı klasöründen diğerine taşıyın ve sunucuyu yeniden başlatın. Bunun yalnızca TÜM tablolarınız MyISAM ise işe yarayacağını unutmayın.

  2. Yeni veritabanını oluşturun, CREATE TABLE ... kullanın LIKE ifadelerini kullanın ve ardından INSERT ... SELECT * FROM ifadelerini kullanın.

  3. mysqldump kullanın ve bu dosya ile yeniden yükleyin.

Yorumlar (2)

MySQL şu anda komut arayüzü aracılığıyla bir veritabanının yeniden adlandırılmasını desteklememektedir, ancak MySQL'in veritabanlarını depoladığı dizine erişiminiz varsa veritabanını yeniden adlandırabilirsiniz. Varsayılan MySQL kurulumları için bu genellikle MySQL'in kurulduğu dizinin altındaki Veri dizinidir. Veri dizini altında yeniden adlandırmak istediğiniz veritabanının adını bulun ve yeniden adlandırın. Dizini yeniden adlandırmak bazı izin sorunlarına neden olabilir. Dikkatli olun.

Not: Veritabanını yeniden adlandırmadan önce MySQL'i durdurmanız gerekir

Yeni bir veritabanı oluşturmanızı (istediğiniz adı kullanarak) ve ihtiyacınız olan verileri eskisinden yenisine aktarmanızı/ithal etmenizi tavsiye ederim. Oldukça basit.

Yorumlar (1)

PHPMyAdmin'de bir veritabanını yeniden adlandırdığınızda, bir döküm oluşturur, ardından veritabanını bırakır ve yeni adla yeniden oluşturur.

Yorumlar (1)