Mencadangkan dan memulihkan database MySQL untuk Windows

Tanggal pembuatan halaman :

Lingkungan konfirmasi operasi

MySQL
  • Edisi Komunitas MySQL 8.0
Windows
  • Jendela 11

Lingkungan yang diperlukan

MySQL
  • MySQL 8.0
Windows
  • Jendela 11
  • Jendela 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Server Windows 2016
  • Windows Server 2012 R2

Prasyarat

  • Database MySQL harus diinstal
  • Database yang akan dicadangkan sudah ada
  • Konfigurasikan variabel lingkungan dan izinkan Anda menjalankan MySQL dari prompt perintah

Tentang Jenis Cadangan

Saya tidak akan membahas secara rinci di sini, tetapi MySQL memiliki jenis cadangan berikut:

Perintah Cadangan Keterangan Tipe Data Cadangan
MySQLDUMP Pencadangan logis Metode pencadangan lama. GUI juga menggunakan ini
MySQLPUMP Pencadangan logis Versi mysqldump yang ditingkatkan
Utilitas Dump Instans MySQL Shell dan Utilitas Pemuatan Dump Pencadangan logis Sebagai cadangan logis, ini adalah yang terbaru saat ini
Percona XtraBackup Pencadangan Fisik Produk pihak ketiga yang memungkinkan pencadangan fisik
CLONE PLUGIN Pencadangan Fisik Cadangan fisik resmi MySQL. Namun, plugin tambahan diperlukan

Mencadangkan database dengan GUI (MySQL Workbench)

Jika Anda ingin beroperasi dengan aman di GUI tanpa menggunakan perintah, Anda dapat melakukan pencadangan di MySQL Workbench. Jenis cadangan yang dilakukan di MySQL Workbench adalah "mysqldump".

Luncurkan MySQL Workbench.

Pilih koneksi dengan database yang ingin Anda cadangkan.

Dengan database yang akan dicadangkan, pilih tab Administrasi dari Navigator di sebelah kiri, dan pilih Ekspor Data.

Layar Ekspor Data terbuka. Layarnya cukup besar, jadi perluas jendela hingga Anda melihat tombol "Mulai Ekspor" di sudut kanan bawah.

Pertama, pilih database yang ingin Anda cadangkan. Anda juga dapat memilih lebih dari satu.

Di "Objek untuk Diekspor", Anda juga dapat memilih apakah akan mencadangkan prosedur, pemicu, dll. Item ini bersifat opsional.

Di "Opsi Ekspor", Anda dapat memilih dari dua opsi berikut:

Deskripsi jenis
Ekspor ke Folder Proyek Dump Output sebagai tabel atau file prosedur-demi-prosedur dalam folder tertentu.
Ekspor ke File Mandiri Sematkan semuanya dalam satu file dan keluarkan.

Tidak masalah mana yang Anda keluarkan. Jika Anda memilih di atas, itu mudah karena Anda dapat dengan mudah menghapusnya jika Anda hanya ingin memulihkan tabel tertentu. Pilihan berikut dikeluarkan ke satu file, sehingga lebih mudah untuk memindahkan dan mengelola file sebagai unit database. Kali ini saya telah memilih yang berikut ini.

Setelah dikonfigurasi, klik tombol Mulai Ekspor di kanan bawah untuk mulai mengekspor.

Ekspor dimulai dan selesai.

Jika Anda menghasilkan dalam satu file, itu akan terlihat seperti ini:

Jika Anda mengekspor ke folder, itu akan terlihat seperti ini:

Memulihkan database dengan GUI (MySQL Workbench)

Buka MySQL Workbench, pilih koneksi Anda, 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.

Silakan pilih "Opsi Impor" sesuai dengan format file yang diekspor. Karena saya mengekspornya sebagai satu file kali ini, saya telah memilih "Impor dari File Mandiri" di bawah ini dan menentukan file yang diekspor.

Pilih skema (database) yang akan dipulihkan. Anda dapat memulihkan ke database yang ada, atau Anda dapat memulihkannya sebagai database baru dari tombol "baru" di sebelah kanan.

Setelah menentukan, klik tombol "Mulai Impor" di sudut kanan bawah untuk memulai pemulihan.

Pastikan data Anda kembali setelah pemulihan selesai.

Membuat akun untuk pencadangan database melalui perintah

Tidak ada masalah jika Anda ingin menjalankan perintah untuk mencadangkan satu kali, 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 menjalankan cadangan.

Izin yang diperlukan untuk pencadangan adalah sebagai berikut, tetapi dapat meningkat atau berkurang tergantung pada informasi yang diperlukan.

  • PERISTIWA
  • KUNCI MEJA
  • PILIH
  • TAMPILKAN TAMPILAN

Jika Anda membuatnya dengan perintah, itu akan terlihat seperti ini: Jalankan dengan 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 cadangan

Izin untuk folder tempat file cadangan disimpan harus diatur ke izin yang sama dengan izin untuk menjalankan perintah. Jika ingin menjalankan perintah dengan izin Administrator, Anda tidak perlu mengatur izin tambahan apa pun untuk folder tersebut.

Mencadangkan database dengan perintah (mysqldump)

Ada beberapa cadangan perintah, tetapi kali ini saya akan mencadangkan dengan "mysqldump" yang lama dan stabil.

Klik kanan pada menu Start dan luncurkan Terminal (Command Prompt). Harap dicatat bahwa ini bukan "Klien Baris Perintah MySQL 8.0".

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 akan menjadi kode karakter yang sama seperti saat dicadangkan di GUI. Ini memungkinkan Anda untuk mengimpornya ke GUI juga.
  • Jangan letakkan spasi di antara bidang -p kata sandi dan kata sandi.
  • Jika Anda juga ingin mengeluarkan informasi tablespace, --no-tablespaces hapus centang . Dalam hal ini, izin PROCESS pengguna eksekusi diperlukan.

File cadangan akan dibuat di lokasi yang ditentukan.

Memulihkan database dengan perintah (mysqldump)

File yang dicadangkan dengan mysqldump dalam format yang dapat dijalankan dalam SQL, jadi Anda hanya perlu menjalankan SQL target. Saya pikir pemulihan sering dilakukan secara manual, jadi tidak apa-apa untuk menjalankannya di akun root.

Jika Anda ingin menjalankannya dari perintah, jalankan di prompt perintah, bukan PowerShell. Ini karena < PowerShell tidak mengizinkan simbol.

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, adalah umum untuk menggunakan penjadwal tugas. Mulailah dengan membuat file batch. Buat file kelelawar, masukkan konten saat dicadangkan dengan perintah, dan simpan. Simpan kode karakter dengan Shift-JIS. Lokasi dan nama file batch dapat bersifat sewenang-wenang.

Daftar dengan penjadwal tugas. Klik kanan pada menu Start dan pilih "Kelola Komputer".

Dari menu kiri, pilih Manajemen Komputer > Alat Sistem > Penjadwal Tugas > Perpustakaan Penjadwal Tugas. Pilih Buat tugas dari menu di sebelah kanan.

Atur tab Umum. "Nama" akan ditampilkan dalam daftar tugas, jadi beri nama yang mudah dipahami. Di opsi keamanan, centang "Jalankan apakah pengguna masuk atau tidak".

Tab Pemicu mengatur kapan pencadangan harus dilakukan. Pengaturan ini harus diatur sesuai dengan operasi Anda.

Di tab Operasi, atur file batch yang baru saja Anda buat untuk diluncurkan.

Setelah Anda mengatur masing-masing, konfirmasikan dengan tombol OK.

Masukkan kata sandi Anda untuk mendaftar agar berjalan di akun yang ditentukan.

Sekarang periksa apakah cadangan akan berjalan pada waktu yang ditentukan.