Mencadangkan dan Memulihkan Database MySQL (Versi Windows)
Lingkungan operasi
- MySQL
-
- MySQL 8.0 Edisi Komunitas
- Windows
-
- jendela 11
Prasyarat
- MySQL
-
- MySQL 8.0
- Windows
-
- jendela 11
- jendela 10
- Windows Server
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
Prasyarat
- Database untuk MySQL diinstal.
- Database yang akan dicadangkan sudah ada.
- Anda telah menetapkan variabel lingkungan sehingga Anda dapat menjalankan mysql dari command prompt.
Apa saja jenis backup?
Meskipun tidak dibahas secara rinci di sini, MySQL memiliki jenis cadangan berikut:
Perintah CadanganJenis | Data CadanganKeterangan | |
---|---|---|
mysqldump | Pencadangan Logis | Metode pencadangan kuno. GUI juga menggunakan ini |
mysqlpump | Pencadangan Logis | Versi mysqldump yang ditingkatkan |
MySQL Shell Instance Dump Utility dan Dump Loading Utility | Pencadangan Logis | Cadangan logis terbaru saat ini |
Percona XtraBackup | Cadangan Fisik | Dukungan pihak ketiga untuk pencadangan fisik |
CLONE PLUGIN | Cadangan Fisik | Cadangan fisik resmi MySQL. Namun, Anda perlu menambahkan plug-in. |
Mencadangkan database dengan GUI (MySQL Workbench)
Jika Anda ingin beroperasi dengan aman di GUI tanpa menggunakan perintah, Anda dapat mencadangkan dengan MySQL Workbench. Jenis pencadangan yang dilakukan oleh MySQL Workbench adalah "mysqldump".
Mulai MySQL Workbench.
Pilih koneksi yang berisi database yang ingin Anda cadangkan.
Dengan database yang akan dicadangkan, pilih tab Administrasi dari Navigator di sebelah kiri, lalu pilih Ekspor Data.
Layar Ekspor Data terbuka. Layarnya cukup lebar, jadi perluas jendela hingga Anda dapat melihat tombol "Mulai Ekspor" di kanan bawah.
Pertama, pilih database yang ingin Anda cadangkan. Anda juga dapat memilih lebih dari satu.
Dalam "Objek untuk Diekspor", Anda dapat memilih untuk mencadangkan prosedur dan pemicu juga. Bidang ini opsional.
Dalam "Opsi Ekspor", Anda dapat memilih dua opsi berikut.
Deskripsi Jenis | |
---|---|
Ekspor ke Folder Proyek Dump | Output ke folder tertentu sebagai file tabel atau prosedur. |
Ekspor ke File Mandiri | Sematkan semuanya dalam satu file dan output. |
Tidak masalah ke arah mana Anda keluar. Pilihan di atas mudah dihapus jika Anda hanya ingin memulihkan tabel tertentu. Pilihan di bawah ini menghasilkan satu file, membuatnya lebih mudah untuk memindahkan dan mengelola file sebagai unit database. Dalam hal ini, saya telah memilih yang berikut ini.
Setelah mengatur pengaturan, klik tombol "Mulai Ekspor" di sudut kanan bawah untuk memulai ekspor.
Ekspor dimulai dan selesai.
Jika Anda menampilkannya sebagai satu file, akan terlihat seperti ini:
Jika Anda mengekspor ke folder, akan terlihat seperti ini:
Memulihkan database dengan GUI (MySQL Workbench)
Buka MySQL Workbench, pilih koneksi, pilih tab Administrasi dari Navigator di sebelah kiri, dan pilih Impor/Pemulihan Data. Seperti yang tertulis "Impor / Pulihkan", Anda dapat membuat database baru dari file yang diekspor atau menimpa database asli.
Perluas jendela hingga Anda melihat tombol "Mulai Impor" di sudut kanan bawah.
Pilih "Opsi Impor" sesuai dengan format file yang diekspor. Karena saya mengekspor sebagai satu file kali ini, saya memilih "Impor dari File Mandiri" di bawah ini dan menentukan file yang diekspor.
Pilih skema (database) yang ingin Anda pulihkan. Anda dapat memulihkan ke database yang sudah ada atau memulihkannya sebagai database baru dari tombol "Baru" di sebelah kanan.
Setelah menentukan spesifikasi, klik tombol "Mulai Impor" di kanan bawah untuk memulai restorasi.
Setelah pemulihan selesai, pastikan data Anda kembali.
Buat akun untuk cadangan database dengan perintah
Tidak ada masalah jika Anda menjalankan satu perintah dan mencadangkannya, tetapi misalnya, jika Anda menyiapkan perintah sebagai file terlebih dahulu dan menjalankannya, Anda perlu menulis kata sandi dalam teks biasa, sehingga lebih aman untuk membuat akun terpisah untuk eksekusi cadangan.
Beberapa izin yang diperlukan untuk pencadangan dapat bertambah atau berkurang tergantung pada informasi yang diperlukan.
- PERISTIWA
- MENGUNCI TABEL
- PILIH
- TAMPILKAN TAMPILAN
Jika Anda membuatnya dengan perintah, itu akan terlihat seperti ini. Gunakan alat baris perintah MySQL.
create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;
contoh
create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;
Izin folder untuk tujuan pencadangan
Izin folder tempat file cadangan disimpan harus diatur dengan cara yang sama seperti izin untuk menjalankan perintah. Jika Anda menjalankan perintah dengan hak administrator, Anda tidak perlu mengatur izin tambahan pada folder.
Mencadangkan database dengan perintah (mysqldump)
Ada beberapa cadangan dengan perintah, tetapi kali ini kami akan mencadangkan dengan "mysqldump", yang telah digunakan sejak lama dan stabil.
Klik kanan pada menu Start untuk meluncurkan Terminal (Command Prompt). Perhatikan bahwa ini bukan "MySQL 8.0 Command Line Client".
Anda dapat mencadangkannya dengan perintah berikut:
mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"
contoh
mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"
--default-character-set=utf8
Jika Anda menentukan kode karakter yang sama seperti saat mencadangkan di GUI, kode tersebut akan sama seperti saat mencadangkan di GUI. Dengan cara ini, Anda juga dapat mengimpornya di GUI.- Jangan sertakan spasi antara bidang kata sandi dan
-p
kata sandi.- Jika Anda juga ingin menampilkan informasi tablespace,
--no-tablespaces
hapus file . Dalam hal ini, izin pengguna yang berjalan harus .PROCESS
File cadangan akan dibuat di lokasi yang ditentukan.
Memulihkan database dengan perintah (mysqldump)
File yang didukung oleh mysqldump berada dalam format yang dapat dieksekusi dalam SQL, jadi yang harus Anda lakukan adalah menjalankan SQL target. Saya pikir sebagian besar pemulihan dilakukan secara manual, jadi tidak ada masalah jika Anda menjalankannya sebagai akun root.
Jika Anda ingin menjalankannya dari perintah, jalankan di prompt perintah, bukan PowerShell. Ini karena simbol tidak dapat digunakan di <
PowerShell.
Jalankan perintah berikut:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
contoh
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Pencadangan database otomatis
Untuk Windows, biasanya menggunakan Penjadwal Tugas. Pertama, buat file batch. Buat file bat, masukkan konten seperti yang didukung oleh perintah, dan simpan. Pengkodean karakter disimpan dengan Shift-JIS. Lokasi dan nama file file batch berubah-ubah.
Daftar dengan Penjadwal Tugas. Klik kanan pada menu Start dan pilih Computer Management.
Dari menu di sebelah kiri, pilih Computer Management > System Tools > Task Scheduler > Task Scheduler Library. Pilih "Buat Tugas..." dari menu di sebelah kanan.
Konfigurasikan tab Umum. "Nama" akan muncul dalam daftar tugas, jadi masukkan nama yang mudah dimengerti. Dalam opsi keamanan, centang "Jalankan terlepas dari apakah pengguna masuk atau tidak".
Di tab "Pemicu", Anda dapat mengatur kapan harus melakukan pencadangan. Atur pengaturan ini sesuai dengan operasi Anda.
Di tab "Operasi", atur untuk meluncurkan file batch yang baru saja Anda buat.
Setelah mengatur masing-masing, konfirmasikan dengan baik tombol.
Masukkan kata sandi Anda untuk mendaftar agar dapat dijalankan di bawah akun yang ditentukan.
Setelah itu, periksa apakah pencadangan akan dijalankan pada waktu yang ditentukan.