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

  • androidandme

    androidandme

    10 Mart 2009
  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007