Mengganti nama/mengubah nama database MySQL adalah hal yang mudah di masa lalu karena yang diperlukan hanyalah awalan perintah sederhana agar nama database berhasil diubah. Anda hanya perlu menjalankan perintah:
> RENAME DATABASE name_of_your_mysql_database;
Namun, penggunaan perintah di atas adalah hak istimewa yang dicadangkan untuk MySQL RDBMS yang lebih lama versi.
Penghentian MySQL di atas kueri sebagai cara untuk mengubah nama asli basis data membuahkan hasil sebagai cara untuk mengatasi risiko keamanan yang layak.
Oleh karena itu, artikel ini hadir untuk memberikan sedikit pencerahan di ujung terowongan ini melalui cara alternatif lain untuk mengubah nama database MySQL tanpa menimbulkan risiko keamanan database.
Prasyarat
- Memiliki hak pengguna sudoer/root pada distribusi sistem Linux yang Anda gunakan karena Anda mungkin memerlukannya untuk mengakses MySQL database seperti kasus Ubuntu Linux distribusi.
- Sudah menginstal MySQL/MariaDB RDBMS dan dikonfigurasi dengan benar dengan akses pengguna basis data root pada sistem Linux yang Anda gunakan.
Membuat Database MySQL Baru
Pendekatan ini direkomendasikan untuk database yang relatif kecil. Menggunakan perintah shell mysqldump, seluruh salinan dump database MySQL dapat dibuat sebagai salinan cadangan.
Setelah itu, database baru dengan nama yang diperlukan dibuat, dan kemudian salinan cadangan database yang dibuat semula akan dikembalikan ke database baru ini. Langkah pertama adalah masuk ke shell MySQL Anda dan mengidentifikasi database yang perlu Anda backup.
$ sudo mysql -u root -p > SHOW DATABASES;
Untuk tujuan demonstrasi, kita akan menggunakan linuxshelltips_new_db database, yang akan menggantikan linuxshelltips_db yang ada basis data.
> CREATE DATABASE linuxshelltips_new_db; > exit
Atau, Anda dapat membuat database MySQL baru menggunakan perintah mysqladmin jika Anda tidak ingin langsung menggunakan shell database.
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_new_db
Di mana id@098765 adalah kata sandi pengguna basis data root dan linuxshelltips_new_db adalah nama database baru.
Backup dan Ganti Nama Database MySQL
Sintaks perintah untuk mencadangkan MySQL database menggunakan mysqldump perintahnya adalah sebagai berikut:
$ sudo mysqldump -u [db_username] -p[db_password] [database_name] > [generated_db_backup.sql]
Oleh karena itu, buat salinan cadangan dari database yang namanya ingin Anda ubah.
$ sudo mysqldump -u root -pid@098765 linuxshelltips_db > linuxshelltips_db.sql
Terakhir, buang db lama (linuxshelltips_db ) file ke dalam database baru (linuxshelltips_new_db ).
$ sudo mysql -u root -pid@098765 linuxshelltips_new_db < linuxshelltips_db.sql
Mengganti Nama Tabel di Database MySQL
Pendekatan ini hanya layak untuk MySQL nanti versi yang menggunakan InnoDB sebagai mesin penyimpanan default mereka.
Misalnya, kita ingin mengganti nama database linuxshelltips_new_db ke linuxshelltips_revised_db dengan tabel database yang ada yang disebut tugas , kami akan mengikuti pendekatan berikut.
Pertama, buat linuxshelltips_revised_db basis data.
$ sudo mysqladmin -u root -pid@098765 create linuxshelltips_revised_db
Masuk ke shell basis data.
$ sudo mysql -u root -p
Sekarang, perintah untuk mengganti nama linuxshelltips_new_db database ke linuxshelltips_revised_db database sambil mempertahankan tugas tabel database adalah sebagai berikut:
> RENAME TABLE linuxshelltips_new_db.tasks TO linuxshelltips_revised_db.tasks;
Dengan perintah di atas, kita telah berhasil mengubah nama database yang terkait dengan nama tabel database tertentu.
Anda sekarang sudah familiar dengan dua pendekatan fleksibel untuk mengganti nama MySQL nama database pada lingkungan sistem operasi Linux.