Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara cepat mengganti nama database MySQL (mengubah nama skema)?

Untuk InnoDB , berikut ini tampaknya berhasil:buat database kosong baru, lalu ganti nama setiap tabel secara bergantian menjadi database baru:

RENAME TABLE old_db.table TO new_db.table;

Anda perlu menyesuaikan izin setelah itu.

Untuk membuat skrip di shell, Anda dapat menggunakan salah satu dari berikut ini:

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

ATAU

for table in `mysql -u root -ppassword -s -N -e "use old_db;show tables from old_db;"`; do mysql -u root -ppassword -s -N -e "use old_db;rename table old_db.$table to new_db.$table;"; done;

Catatan:

  • Tidak ada spasi di antara opsi -p dan kata sandi. Jika database Anda tidak memiliki kata sandi, hapus -u username -ppassword bagian.
  • Jika beberapa tabel memiliki pemicu, tabel tersebut tidak dapat dipindahkan ke database lain menggunakan metode di atas (akan menghasilkan Trigger in wrong schema kesalahan). Jika demikian, gunakan cara tradisional untuk mengkloning database, lalu hapus yang lama:

    mysqldump old_db | mysql new_db

  • Jika Anda memiliki prosedur tersimpan, Anda dapat menyalinnya setelahnya:

    mysqldump -R old_db | mysql new_db



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Bootstrap MySQL atau MariaDB Galera Cluster - Diperbarui

  2. Mudah Mengatur Server Web dengan XAMPP

  3. Kesalahan MySQL 1436:Tumpukan utas diserbu, dengan kueri sederhana

  4. Cara Mengatur Failover Otomatis untuk Database MySQL Moodle

  5. Memperbaiki penyandian UTF-8 yang rusak