SORU
15 EYLÜL 2008, PAZARTESİ


Nasıl hızlı bir şekilde mysql veritabanı (şema adı değişikliği) yeniden adlandırırım?

MySQL MySQL manuel bu kapsar.

Genellikle ben sadece veritabanı dökümü ve yeni bir adla yeniden içeri aktarın. Bu çok büyük veritabanları için bir seçenek değil. Anlaşılan RENAME {DATABASE | SCHEMA} db_name TO new_db_name; does bad things, exist only in a handful of versions, and is a bad idea overall.

Bu iş için ihtiyacı varOradaçok daha farklı şeyler saklayan., ^strong>Hali hazırda.

CEVAP
19 ŞUBAT 2010, Cuma


Orada, aşağıdaki iş gibi görünüyor: yeni boş bir veritabanı oluşturmak yeni bir veritabanı içine sırayla her tablo, yeniden adlandırın:

RENAME TABLE old_db.table TO new_db.table;

Bundan sonra izinleri ayarlamak gerekir.

Bir kabuk komut dosyası için, bunu yapabilirsiniz:

mysql -sNe old_db 'show tables' | while read table; \
    do mysql -sNe "rename old_db.$table to new_db.$table"; done

Eğer saklı prosedürler de, daha sonra bunları kopyalayabilirsiniz:

mysqldump -R old_db | mysql new_db

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010