Menyandarkan dan memulihkan pangkalan data MySQL (versi Windows)

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran operasi

Mysql
  • MySQL 8.0 Edisi Komuniti
Windows
  • Windows 11

Prasyarat

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

prasyarat

  • Pangkalan data untuk MySQL dipasang.
  • Pangkalan data yang akan disandarkan sudah wujud.
  • Anda telah mengesetkan pembolehubah persekitaran supaya anda boleh menjalankan mysql daripada gesaan arahan.

Apakah jenis sandaran?

Walaupun tidak dibincangkan secara terperinci di sini, MySQL mempunyai jenis sandaran berikut:

Perintah SandaranBackup Jenis DataRemarks
Mysqldump Sandaran Logik Kaedah sandaran lama. GUI juga menggunakan ini
MySQLPUMP Sandaran Logik Versi mysqldump yang dipertingkatkan
MySQL Shell Contoh Utiliti Dump dan Utiliti Pemuatan Dump Sandaran Logik Sandaran logik terkini pada masa ini
Percona XtraBackup Sandaran Fizikal Sokongan pihak ketiga untuk sandaran fizikal
PLUGIN KLON Sandaran Fizikal Sandaran fizikal rasmi MySQL. Walau bagaimanapun, anda perlu menambah pemalam.

Menyandarkan pangkalan data dengan GUI (MySQL Workbench)

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

Mulakan MySQL Workbench.

Pilih sambungan yang mengandungi pangkalan data yang anda ingin sandarkan.

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

Skrin Eksport Data dibuka. Skrinnya agak luas, jadi kembangkan tetingkap sehingga anda dapat melihat butang "Mula Eksport" di bahagian bawah sebelah kanan.

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

Dalam "Objek untuk Eksport", anda boleh memilih untuk menyandarkan prosedur dan pencetus juga. Medan ini adalah pilihan.

Dalam "Pilihan Eksport", anda boleh memilih dua pilihan berikut.

Taip Perihalan
Eksport ke Folder Projek Dump Output ke folder tertentu sebagai fail jadual atau prosedur.
Eksport ke Fail Serba Lengkap Benamkan segala-galanya dalam satu fail dan output.

Tidak kira apa cara anda mengeluarkan. Pilihan di atas mudah dialih keluar jika anda ingin memulihkan jadual tertentu sahaja. Pemilihan output di bawah ke satu fail, menjadikannya lebih mudah untuk memindahkan dan menguruskan fail sebagai unit pangkalan data. Dalam kes ini, saya telah memilih perkara berikut.

Selepas menetapkan tetapan, klik butang "Mula Eksport" di sudut kanan bawah untuk memulakan eksport.

Eksport bermula dan selesai.

Jika anda mengeluarkannya sebagai 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, pilih tab Pentadbiran daripada Navigator di sebelah kiri dan pilih Import Data/Pulihkan. Seperti yang tertera "Import / Pulihkan", anda boleh membuat pangkalan data baru dari fail yang dieksport atau menulis ganti pangkalan data asal.

Kembangkan tetingkap sehingga anda melihat butang "Mula Import" di sudut kanan bawah.

Pilih "Pilihan Import" mengikut format fail yang dieksport. Oleh kerana saya mengeksport sebagai satu fail kali ini, saya memilih "Import dari Fail Serba Lengkap" di bawah dan menentukan fail yang dieksport.

Pilih skema (pangkalan data) yang anda ingin pulihkan. Anda boleh memulihkan pangkalan data sedia ada atau memulihkannya sebagai pangkalan data baru dari butang "Baru" di sebelah kanan.

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

Setelah pemulihan selesai, pastikan data anda kembali.

Perintah Cipta akaun untuk sandaran pangkalan data mengikut perintah

Tidak ada masalah jika anda melaksanakan satu arahan dan sandarkannya, tetapi sebagai contoh, jika anda menyediakan arahan sebagai fail terlebih dahulu dan melaksanakannya, anda perlu menulis kata laluan dalam teks biasa, jadi lebih selamat untuk membuat akaun berasingan untuk pelaksanaan sandaran.

Sesetengah keizinan yang diperlukan untuk sandaran mungkin meningkat atau berkurang bergantung pada maklumat yang diperlukan.

  • ACARA
  • MENGUNCI JADUAL
  • PILIH
  • TUNJUKKAN PANDANGAN

Jika anda menciptanya dengan arahan, ia akan kelihatan seperti ini. Gunakan 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 folder tempat fail sandaran disimpan mesti ditetapkan dengan cara yang sama seperti kebenaran untuk melaksanakan arahan. Jika anda menjalankan perintah dengan keistimewaan Pentadbir, anda tidak perlu menetapkan sebarang keizinan tambahan pada folder.

Membuat sandaran pangkalan data dengan perintah (mysqldump)

Terdapat beberapa sandaran mengikut arahan, tetapi kali ini kami akan membuat sandaran dengan "mysqldump", yang telah digunakan untuk masa yang lama dan stabil.

Klik kanan pada menu Mula untuk melancarkan Terminal (Command Prompt). Ambil perhatian bahawa ia bukan "Pelanggan Barisan 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 Jika anda menentukan kod aksara yang sama seperti semasa membuat sandaran dalam GUI, ia akan sama seperti semasa membuat sandaran dalam GUI. Dengan cara ini, anda juga boleh mengimportnya dalam GUI.
  • Jangan masukkan ruang antara medan kata laluan dan -p kata laluan.
  • Jika anda juga ingin mengeluarkan maklumat ruang jadual, --no-tablespaces alih keluar . Dalam kes itu, kebenaran pengguna yang sedang berjalan mestilah . PROCESS

Fail sandaran akan dibuat di lokasi yang ditentukan.

Memulihkan pangkalan data dengan perintah (mysqldump)

Fail yang disandarkan oleh mysqldump berada dalam format yang boleh dilaksanakan dalam SQL, jadi apa yang anda perlu lakukan ialah melaksanakan SQL sasaran. Saya fikir kebanyakan pemulihan dilakukan secara manual, jadi tidak ada masalah jika anda menjalankannya sebagai akaun akar.

Jika anda ingin menjalankannya daripada arahan, jalankannya pada gesaan arahan dan bukannya PowerShell. Ini kerana simbol itu tidak boleh digunakan dalam < PowerShell.

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. Mula-mula, buat fail batch. Buat fail kelawar, masukkan kandungan semasa ia disandarkan oleh arahan dan simpannya. Pengekodan aksara disimpan dengan Shift-JIS. Lokasi dan nama fail fail batch adalah sewenang-wenangnya.

Daftar dengan Penjadual Tugas. Klik kanan pada menu Mula dan pilih Pengurusan Komputer.

Daripada menu di sebelah kiri, pilih Alat Pengurusan Komputer > Sistem > Penjadual Tugas > Pustaka Penjadual Tugas. Pilih "Buat Tugas..." daripada menu di sebelah kanan.

Mengkonfigurasikan tab Umum. "Nama" akan muncul dalam senarai tugas, jadi masukkan nama yang mudah difahami. Dalam pilihan keselamatan, semak "Jalankan tanpa mengira sama ada pengguna log masuk atau tidak".

Dalam tab "Pencetus", anda boleh menetapkan masa untuk melaksanakan sandaran. Tetapkan tetapan ini mengikut operasi anda.

Dalam tab "Operasi", tetapkannya untuk melancarkan fail kelompok yang baru anda buat.

Selepas menetapkan setiap satu, sahkan dengan okey butang.

Masukkan kata laluan anda untuk mendaftar untuk dijalankan di bawah akaun yang ditentukan.

Selepas itu, periksa sama ada sandaran akan dilaksanakan pada masa yang ditetapkan.