Sandarkan dan pulihkan pangkalan data MySQL untuk Windows

Tarikh penciptaan halaman :

Persekitaran pengesahan operasi

Mysql
  • Edisi Komuniti MySQL 8.0
Windows
  • Windows 11

Persekitaran yang diperlukan

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

prasyarat

  • Pangkalan data MySQL mesti dipasang
  • Pangkalan data yang akan disandarkan sudah wujud
  • Konfigurasikan pembolehubah persekitaran dan membolehkan anda menjalankan MySQL daripada gesaan arahan

Perihal Jenis Sandaran

Saya tidak akan terperinci di sini, tetapi MySQL mempunyai jenis sandaran berikut:

Ucapan Jenis Data Sandaran Perintah Sandaran
mysqldump Sandaran logik Kaedah sandaran lama. GUI juga menggunakan ini
MySQLPUMP Sandaran logik Versi mysqldump yang dipertingkatkan
Utiliti Dump Instance MySQL Shell dan Utiliti Memuatkan Dump Sandaran logik Sebagai sandaran logik, ia adalah yang terkini pada masa ini
Percona XtraBackup Sandaran Fizikal Produk pihak ketiga yang membenarkan sandaran fizikal
PEMALAM CLONE Sandaran Fizikal Sandaran fizikal rasmi MySQL. Walau bagaimanapun, pemalam tambahan diperlukan

Menyandarkan pangkalan data dengan GUI (MySQL Workbench)

Jika anda ingin beroperasi dengan selamat dalam GUI tanpa menggunakan arahan, anda boleh melakukan sandaran dalam MySQL Workbench. Jenis sandaran yang dilakukan dalam MySQL Workbench ialah "mysqldump".

Lancarkan MySQL Workbench.

Pilih sambungan dengan pangkalan data yang anda mahu sandarkan.

Dengan pangkalan data yang akan disandarkan, pilih tab Pentadbiran daripada Navigator di sebelah kiri dan pilih Eksport Data.

Skrin Eksport Data dibuka. Skrinnya agak besar, jadi kembangkan tetingkap sehingga anda melihat butang "Mulakan Eksport" di sudut kanan bawah.

Mula-mula, pilih pangkalan data yang ingin anda sandarkan. Anda juga boleh memilih lebih daripada satu.

Dalam "Objek untuk Dieksport", anda boleh memilih sama ada untuk menyandarkan prosedur, pencetus, dsb. juga. Item ini adalah pilihan.

Dalam "Pilihan Eksport", anda boleh memilih daripada dua pilihan berikut:

Penerangan jenis
Eksport ke Folder Projek Dump Output sebagai jadual atau fail prosedur demi prosedur dalam folder tertentu.
Eksport ke fail serba lengkap Benamkan segala-galanya dalam satu fail dan keluarkannya.

Tidak kira mana yang anda keluarkan. Jika anda memilih di atas, ia mudah kerana anda boleh mengeluarkannya dengan mudah jika anda ingin memulihkan hanya jadual tertentu. Pilihan berikut dikeluarkan kepada satu fail, menjadikannya lebih mudah untuk mengalihkan dan mengurus fail sebagai unit pangkalan data. Kali ini saya telah memilih yang berikut.

Setelah dikonfigurasikan, klik butang Mulakan Eksport butang di bahagian bawah sebelah kanan untuk mula mengeksport.

Eksport bermula dan selesai.

Jika anda mengeluarkan dalam satu fail, ia akan kelihatan seperti ini:

Jika anda mengeksport ke folder, ia akan kelihatan seperti ini:

Memulihkan pangkalan data dengan GUI (MySQL Workbench)

Buka MySQL Workbench, pilih sambungan anda, pilih tab Pentadbiran daripada Navigator di sebelah kiri dan pilih Import/Pulihkan Data. Seperti yang dikatakan "Import/Pulihkan", anda boleh membuat pangkalan data baharu daripada fail yang dieksport atau menimpa pangkalan data asal.

Kembangkan tetingkap sehingga anda melihat butang "Mulakan Import" di penjuru kanan bawah.

Sila pilih "Import Options" mengikut format fail yang dieksport. Memandangkan saya mengeksportnya sebagai satu fail kali ini, saya telah memilih "Import daripada Fail Serba Lengkap" di bawah dan menentukan fail yang dieksport.

Pilih skema (pangkalan data) untuk dipulihkan. Anda boleh memulihkan kepada pangkalan data sedia ada, atau anda boleh memulihkannya sebagai pangkalan data baharu daripada butang "baharu" di sebelah kanan.

Selepas menentukan, klik butang "Mulakan Import" di penjuru kanan bawah untuk memulakan pemulihan.

Pastikan data anda kembali apabila pemulihan selesai.

Buat akaun untuk sandaran pangkalan data melalui arahan

Tidak ada masalah jika anda ingin menjalankan arahan untuk menyandarkan satu kali, tetapi sebagai contoh, jika anda menyediakan arahan sebagai fail terlebih dahulu dan menjalankannya, anda perlu menulis kata laluan dalam teks biasa, jadi lebih selamat untuk membuat akaun berasingan untuk menjalankan sandaran.

Kebenaran yang diperlukan untuk sandaran adalah seperti berikut, tetapi mungkin meningkat atau berkurangan bergantung pada maklumat yang diperlukan.

  • ACARA
  • KUNCI MEJA
  • PILIH
  • TUNJUKKAN PANDANGAN

Jika anda menciptanya dengan arahan, ia akan kelihatan seperti ini: Jalankannya dengan alat baris arahan MySQL.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

Sebagai 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;

Keizinan folder untuk destinasi sandaran

Keizinan untuk folder tempat fail sandaran disimpan mesti ditetapkan kepada keizinan yang sama seperti keizinan untuk melaksanakan arahan. Jika anda mahu menjalankan perintah dengan keizinan Pentadbir, anda tidak perlu mengesetkan sebarang keizinan tambahan untuk folder tersebut.

Menyandarkan pangkalan data dengan arahan (mysqldump)

Terdapat beberapa sandaran arahan, tetapi kali ini saya akan menyandarkan dengan "mysqldump" yang lama dan stabil.

Klik kanan pada menu Mula dan lancarkan Terminal (Command Prompt). Sila ambil perhatian bahawa ia bukan "Klien Baris Perintah MySQL 8.0".

Anda boleh menyandarkannya dengan arahan berikut:

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

Sebagai 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 kod aksara yang sama seperti apabila disandarkan dalam GUI. Ini membolehkan anda mengimportnya ke dalam GUI juga.
  • Jangan letakkan ruang antara medan -p kata laluan dan kata laluan.
  • Jika anda juga ingin mengeluarkan maklumat ruang jadual, --no-tablespaces sila nyahtanda . Dalam kes itu, kebenaran PROCESS pengguna pelaksanaan diperlukan.

Fail sandaran akan dibuat di lokasi yang ditentukan.

Memulihkan pangkalan data dengan arahan (mysqldump)

Fail yang disandarkan dengan mysqldump berada dalam format yang boleh dijalankan dalam SQL, jadi anda hanya perlu menjalankan SQL sasaran. Saya fikir pemulihan sering dilakukan secara manual, jadi tidak mengapa untuk menjalankannya pada akaun root.

Jika anda ingin menjalankannya daripada arahan, jalankannya pada gesaan arahan dan bukannya PowerShell. Ini kerana < PowerShell tidak membenarkan simbol.

Jalankan arahan berikut:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

Sebagai contoh

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

Sandaran pangkalan data automatik

Untuk Windows, adalah perkara biasa untuk menggunakan penjadual tugas. Mulakan dengan mencipta fail kelompok. Buat fail kelawar, masukkan kandungan kerana ia disandarkan dengan arahan, dan simpan. Simpan kod aksara dengan Shift-JIS. Lokasi dan nama fail kumpulan boleh menjadi sewenang-wenangnya.

Daftar dengan penjadual tugas. Klik kanan pada menu Mula dan pilih "Urus Komputer".

Daripada menu kiri, pilih Pengurusan Komputer > Alat Sistem > Penjadual Tugas > Perpustakaan Penjadual Tugas. Pilih Cipta tugasan daripada menu di sebelah kanan.

Tetapkan tab Umum. "Nama" akan dipaparkan dalam senarai tugas, jadi letakkan nama yang mudah difahami. Dalam pilihan keselamatan, tandakan "Jalankan sama ada pengguna log masuk atau tidak".

Tab Pencetus menetapkan masa sandaran perlu dilakukan. Tetapan ini hendaklah ditetapkan mengikut operasi anda.

Dalam tab Operasi, tetapkan fail kumpulan yang baru anda cipta untuk dilancarkan.

Sebaik sahaja anda telah menetapkan setiap daripada mereka, sahkannya dengan butang OK.

Masukkan kata laluan anda untuk mendaftar untuk dijalankan pada akaun yang ditentukan.

Sekarang semak sama ada sandaran akan dijalankan pada masa yang ditentukan.