"Bagaimana saya bisa memindahkan MySQL dari satu server fisik ke yang lain? Seperti skenario yang tepat ini. Saya memiliki server MySQL yang menggunakan tabel InnoDB dan berukuran sekitar 20GB di e. Saya ingin memindahkannya ke server baru, apa cara yang paling efisien untuk melakukannya?"
MySQL adalah sistem manajemen database relasional berdasarkan Structured Query Language. Kami menggunakannya untuk mengelola informasi yang disimpan di komputer, termasuk data pribadi atau informasi dalam jumlah besar di perusahaan. Berkat sistem manajemen basis data yang bebas digunakan ini, perusahaan memiliki kemudahan untuk menggerakkan bisnis mereka. Jadi bagaimana cara memigrasi database antara dua server untuk menyimpan data ini?
Ikuti panduan langkah demi langkah kami untuk memindahkan database MySQL ke server lain dengan alat transfer database pihak ketiga dan program pencadangan MySQL. Kedua metode ini berlaku untuk memigrasi database di Windows
Setelah cadangan berhasil dibuat, mari kita buka file cadangan untuk melihat konten file cadangan. Buka lokasi cadangan dan klik dua kali pada folder “sakila_20200424. sql”.
Seperti yang Anda lihat pada gambar di atas, file cadangan berisi berbagai pernyataan T-SQL yang dapat digunakan untuk membuat ulang objek
Menghasilkan cadangan dari beberapa database atau semua database
Misalnya, Anda ingin membuat cadangan lebih dari satu database. Anda harus menambahkan opsi —databases di perintah mysqldump. Perintah berikut akan menghasilkan cadangan database "sakila" dan "karyawan" dengan struktur dan data
1
mysqldump -u root -p --databases sakila employees > C:\MySQLBackup\sakila_employees_20200424. sql
Lihat gambar berikut
Demikian pula, jika Anda ingin membuat cadangan semua database, Anda harus menggunakan opsi –all-databases di perintah mysqldump. Perintah berikut akan menghasilkan cadangan semua database dalam MySQL Server
1
mysqldump -u root -p --all-databases > C:\MySQLBackup\all_databases_20200424. sql
Lihat gambar berikut
Hasilkan cadangan struktur basis data
Jika Anda ingin membuat cadangan dari struktur database, maka Anda harus menggunakan opsi –no-data pada perintah mysqldump. Perintah berikut menghasilkan cadangan struktur basis data dari basis data sakila
1
mysqldump -u root -p --no-data sakila > C:\MySQLBackup\sakila_objects_definition_20200424. sql
Lihat gambar berikut
Hasilkan cadangan dari tabel tertentu
Jika Anda ingin membuat cadangan dari tabel tertentu, Anda harus menentukan nama tabel setelah nama database. Perintah berikut menghasilkan cadangan tabel aktor dari database sakila
1
mysqldump -u root -p sakila actor payment > C:\MySQLBackup\actor_payment_table_20200424. sql
Jika Anda ingin membuat cadangan lebih dari satu tabel, maka Anda harus memisahkan nama tabel dengan spasi, perintah berikut menghasilkan cadangan aktor dan tabel pembayaran dari database sakila
Menghasilkan cadangan data database
Jika Anda ingin membuat cadangan data tanpa struktur database, maka Anda harus menggunakan opsi –no-create-info pada perintah mysqldump. Perintah berikut menghasilkan cadangan data dari database sakila
1
mysqldump -u root -p sakila --no-create-info > C:\MySQLBackup\sakila_data_only_20200424. sql
Lihat gambar berikut
Mari kita lihat isi dari file cadangan
Seperti yang Anda lihat pada screenshot di atas, file cadangan berisi berbagai pernyataan T-SQL yang dapat digunakan untuk memasukkan data ke dalam tabel
Kembalikan Database MySQL
Mengembalikan database MySQL menggunakan mysqldump sederhana. Untuk memulihkan database, Anda harus membuat database kosong. Pertama, mari kita jatuhkan dan buat ulang database sakila dengan menjalankan perintah berikut
1
2
3
4
5
mysql> jatuhkan database sakila;
Kueri OK, 24 baris affected (0.35 dtk)
mysql> buat database sakila;
Kueri OK, 1 baris affected (0.01 dtk)
MySQL>
Saat Anda memulihkan database, alih-alih menggunakan mysqldump, Anda harus menggunakan mysql; . Jalankan perintah berikut untuk mengembalikan database sakila
1
mysql -u root -p sakila gunakan sakila;
Basis data berubah
mysql> tampilkan tabel;
Lihat gambar berikut
Mengembalikan tabel tertentu dalam database
Misalnya, seseorang menjatuhkan tabel dari database. Alih-alih memulihkan seluruh database, kami dapat memulihkan tabel yang dijatuhkan dari cadangan yang tersedia. Untuk mendemonstrasikan, jatuhkan tabel aktor dari database sakila dengan menjalankan perintah berikut pada alat baris perintah MySQL
1
2
3
mysql> gunakan sakila;
Database diubah
mysql> jatuhkan tabel aktor;
Untuk mengembalikan tabel aktor, lakukan proses langkah demi langkah berikut
Langkah 1
Buat database dummy bernama sakila_dummy dan pulihkan cadangan database sakila di atasnya. Berikut perintahnya
1
2
3
mysql> buat database sakila_dummy;
mysql> gunakan sakila_dummy;
mysql> sumber C. \MySQLBackup\sakila_20200424. sql
Langkah 2
Cadangkan tabel aktor ke sakila_dummy_actor_20200424. .sql. Berikut perintahnya
1
C. \Pengguna\Nisarg> . mysqldump -u root -p sakila_dummy actor > C:\MySQLBackup\sakila_dummy_actor_20200424. sql
Langkah 3
Pulihkan tabel aktor dari folder “sakila_dummy_actor_20200424. sql”. Berikut ini adalah perintah pada alat baris perintah MySQL
1
mysql> sumber C. \MySQLBackup\sakila_dummy_actor_20200424. sql
Jalankan perintah berikut untuk memverifikasi bahwa tabel telah berhasil dipulihkan
1
2
3
mysql> gunakan sakila;
Database diubah
mysql> tampilkan tabel;
Lihat gambar berikut
Ringkasan
Pada artikel ini, saya telah menjelaskan bagaimana kita dapat menggunakan utilitas baris perintah mysqldump untuk menghasilkan yang berikut ini