Pada artikel ini, saya akan menjelaskan berbagai cara untuk membuat cadangan di server database MySQL. Seperti yang kita ketahui, data merupakan aset berharga bagi organisasi. Sebagai administrator basis data, tugas utama dan krusial kami adalah menjaga agar data tetap tersedia dan aman. Jika sistem atau pusat data gagal, database rusak, dan kehilangan data, kami harus dapat memulihkannya dalam SLA yang ditentukan
Platform basis data yang berbeda menyediakan berbagai metode untuk membuat cadangan dan memulihkan basis data. Banyak vendor menyediakan solusi perangkat lunak dan perangkat keras canggih yang dapat membantu mencadangkan basis data, dan dapat memulihkan basis data dalam RTO dan RPO yang ditentukan
Di sini, kami tidak akan membahas solusi pencadangan vendor pihak ketiga mana pun. Saya akan menjelaskan metode asli yang digunakan untuk membuat cadangan database. Kami dapat membuat cadangan database MySQL menggunakan salah satu metode berikut
- Hasilkan cadangan menggunakan utilitas mysqldump
- Hasilkan cadangan Inkremental menggunakan Log Biner
- Hasilkan cadangan menggunakan Replikasi Budak
Pada artikel ini, saya akan menjelaskan bagaimana kita dapat menggunakan mysqldump untuk membuat cadangan database MySQL
Hasilkan cadangan menggunakan utilitas mysqldump
Mysqldump adalah utilitas baris perintah yang digunakan untuk menghasilkan cadangan logis dari database MySQL. Ini menghasilkan Pernyataan SQL yang dapat digunakan untuk membuat ulang objek dan data database. Perintah juga dapat digunakan untuk menghasilkan keluaran dalam format XML, teks terbatas, atau CSV
Perintah ini mudah digunakan, tetapi satu-satunya masalah yang terjadi saat memulihkan database. Seperti yang saya sebutkan, ketika kami membuat cadangan database MySQL, itu membuat file cadangan yang berisi perintah SQL yang diperlukan untuk membangun kembali atau memulihkan database. Sekarang, saat kita mengembalikan database, perintah mengeksekusi semua Pernyataan SQL untuk membuat tabel dan memasukkan data. Jika Anda memiliki database yang besar, maka proses pemulihan membutuhkan waktu lama untuk diselesaikan
Catatan. Secara default, perintah mysqldump tidak membuang database information_schema, performance_schema, dan database ndbinfo MySQL Cluster
Jika Anda ingin menyertakan tabel information_schema, Anda harus secara eksplisit menentukan nama database dalam perintah mysqldump, sertakan juga opsi —skip-lock-tables
Ada banyak pilihan dan fitur yang bisa digunakan dengan mysqldump. Anda dapat melihat daftar opsi lengkap di sini. Saya akan pergi ke beberapa fitur dasar. Berikut ini adalah sintaks utilitas mysqldump
1
mysqldump -u [pengguna name] –p [password] [options] [database_name] [tablename] > [dumpfilename.sql]
Parameternya adalah sebagai berikut
- -u [nama_pengguna]. Ini adalah nama pengguna untuk terhubung ke server MySQL. Untuk menghasilkan cadangan menggunakan mysqldump, 'Pilih' untuk membuang tabel, 'Tampilkan Tampilan' untuk tampilan, 'Pemicu' untuk pemicu. Jika Anda tidak menggunakan —opsi transaksi tunggal, maka hak istimewa 'Kunci Tabel' harus diberikan kepada pengguna
- -p [kata sandi]. Kata sandi yang valid dari pengguna MySQL
- [pilihan]. Opsi konfigurasi untuk menyesuaikan cadangan
- [nama basis data]. Nama database yang ingin Anda ambil cadangannya
- [nama tabel]. Ini adalah parameter opsional. Jika Anda ingin mengambil tabel khusus cadangan, maka Anda dapat menentukan nama dalam perintah
- “”: This character indicates whether we are generating the backup of the database or restoring the database. You can use “>” to generate the backup and “ C:\MySQLBackup\sakila_20200424. sql
Ketika Anda menjalankan perintah ini, itu meminta kata sandi. Berikan kata sandi yang sesuai. Lihat gambar berikut
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
Bagaimana cara mengembalikan database MySQL ke SQL Server?
Pra-migrasi .Buka SSMA untuk MySQLPada menu File, pilih Proyek BaruMasukkan nama proyek dan lokasi untuk menyimpan proyek Anda dan target migrasi. .Di kotak dialog Sambungkan ke MySQL, masukkan detail koneksi, lalu sambungkan ke server MySQL AndaPilih database MySQL yang ingin Anda migrasikanBagaimana cara mengubah dump MySQL ke SQL Server?
Cara. Cara Mengonversi MySQL ke Basis Data MS SQL Server .Langkah 1. Langkah 1. Membangun Koneksi ke Database Sumber (MySQL). Luncurkan SSMA untuk MySQL. .Langkah 2. Langkah 2. Periksa Pemetaan Tipe Data Antara MySQL dan MS SQL. .Langkah 3. Langkah 3. Lakukan Konversi Skema Database. .Langkah 4. Langkah 4. Mengkonversi MySQL ke MS SQLBagaimana cara mencadangkan dan memulihkan database MySQL ke server lain?
Anda dapat mencadangkan dan memulihkan Database MySQL menggunakan mysqldump melalui baris perintah atau PHPMyAdmin. .Kembalikan Database MySQL. .Mengembalikan Database MySQL Tunggal Dari File Dump MySQL Lengkap. .Ekspor dan Impor Database MySQL dalam Satu PerintahApakah mungkin untuk memulihkan database MySQL?
Di MySQL, Anda dapat menggunakan perintah mysql untuk memulihkan database dari file dump . mysqldump adalah utilitas baris perintah yang digunakan untuk menghasilkan cadangan basis data logis MySQL sebagai satu. sql file dengan satu set pernyataan SQL. Utilitas membantu Anda membuang tabel MySQL, banyak basis data, atau objeknya.