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

  • AFISHAL

    AFISHAL

    7 Mart 2009
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • SketchBookPro

    SketchBookPr

    6 Mayıs 2009