Cara membuat sandaran dan memulihkan pangkalan data MySQL dengan cekap

Cara membuat sandaran dan memulihkan pangkalan data MySQL dengan cekap

MySQL adalah salah satu sistem pengurusan pangkalan data relasi sumber terbuka yang paling popular yang digunakan di seluruh dunia. Apabila data anda tumbuh, menjadi semakin penting untuk melunaskannya dengan melaksanakan sandaran biasa dan mempunyai proses pemulihan yang boleh dipercayai. Dalam artikel ini, kami akan memberikan panduan yang komprehensif kepada sandaran dan pemulihan pangkalan data MySQL, yang meliputi amalan dan alat terbaik yang akan memastikan integriti dan ketersediaan data anda.

Kaedah sandaran

Terdapat beberapa kaedah untuk membuat sandaran pangkalan data MySQL, termasuk:

  1. Menggunakan mysqldump
  2. Menggunakan Backup Enterprise MySQL (Komersial)
  3. Menggunakan sandaran tambahan berasaskan log binari
  4. Menggunakan gambar sistem fail

Kami akan memberi tumpuan kepada kaedah yang paling biasa digunakan, mysqldump, kerana kesederhanaan dan sokongan luasnya.

Menyandarkan pangkalan data MySQL menggunakan mysqldump

mysqldump adalah utiliti baris arahan yang membolehkan anda membuat sandaran logik pangkalan data MySQL anda. Sandaran terdiri daripada penyata SQL yang boleh dilaksanakan untuk mencipta semula struktur dan data pangkalan data asal.

Untuk membuat sandaran pangkalan data MySQL anda menggunakan mysqldump, gunakan arahan berikut:

mysqldump -u [username] -p [password] [database_name]> [backup_file].SQL
1mysqldump -u [username] -p [password] [database_name]> [backup_file].SQL

Ganti [nama pengguna], [kata laluan], [database_name], dan [backup_file] dengan nama pengguna, kata laluan, nama pangkalan data yang sebenarnya, dan nama fail sandaran yang dikehendaki, masing -masing.

Sebagai contoh:

mysqldump -u root -pmysecretpassword my_database> my_database_backup.SQL  

Fail SQL yang dihasilkan boleh digunakan untuk memulihkan pangkalan data anda ke keadaannya pada masa sandaran.

Memulihkan pangkalan data MySQL

Untuk memulihkan pangkalan data MySQL dari sandaran yang dibuat dengan mysqldump, gunakan sintaks berikut:

mysql -u [username] -p [password] [Database_name] < [backup_file].sql
1mysql -u [username] -p [password] [Database_name] < [backup_file].sql

Ganti [Nama Pengguna], [Kata Laluan], [Database_Name], dan [Backup_File] dengan nama pengguna MySQL, kata laluan, nama pangkalan data, dan nama sandaran MySQL anda.

Sebagai contoh:

mysql -u root -pmysecretpassword my_database < my_database_backup.sql  

Perintah ini akan melaksanakan penyata SQL dalam fail sandaran, mencipta struktur dan data pangkalan data asal.

Lebih banyak sandaran dan pulihkan contoh

Anda mempunyai banyak pilihan untuk membuat sandaran pangkalan data. Baca beberapa pilihan di bawah. Untuk contoh ini, kami telah menggunakan nama pangkalan data "my_database".

  1. Sandarkan pangkalan data MySQL tunggal dengan arkib
    mysqldump -u root -pmysecretpassword my_database | gzip> my_database.SQL.Gz  
  2. Sandarkan satu jadual dari pangkalan data MySQL
    mysqldump -u root -pmysecretpassword my_database my_table> my_table.SQL  
  3. Sandarkan Pangkalan Data Pelbagai di MySQL
    mysqldump -u root -pmysecretpassword --databases my_database second_database> database_backup.SQL  
  4. Sandarkan semua pangkalan data yang terdapat di Server MySQL.
    mysqldump -u root -pmysecretpassword -semua -data> all_databases.SQL  
  5. Struktur pangkalan data sandaran sahaja (tiada data)
    mysqldump -u root -pmysecretpassword -no -data my_database> my_database.SQL  
  6. Data sandaran hanya dari pangkalan data (tiada struktur jadual)
    mysqldump -u root -pmysecretpassword --no -create -info my_database> my_database.SQL  
  7. Pangkalan Data Mysql Backup dalam format XML
    mysqldump -u root -pmysecretpassword --xml my_database> my_database.XML  
  8. Sekiranya anda mempunyai sandaran semua pangkalan data dengan --All-databases pilihan, tidak perlu menentukan nama pangkalan data.
    mysql -u root -pmysecretpassword < all_databases.sql  

Amalan terbaik untuk sandaran dan pemulihan pangkalan data MySQL

  • Sandaran biasa: Jadualkan sandaran tetap pangkalan data MySQL anda untuk memastikan integriti data dan meminimumkan kehilangan data sekiranya berlaku kegagalan atau rasuah.
  • Penyimpanan Offsite: Simpan sandaran anda di lokasi yang selamat, di luar tapak untuk melindungi daripada kehilangan data akibat bencana atau kegagalan perkakasan.
  • Pengesahan sandaran: Kerap menguji sandaran anda dengan memulihkannya ke persekitaran yang berasingan, memastikan bahawa mereka sah dan dapat berjaya dipulihkan.
  • Sandaran tambahan: Pertimbangkan menggunakan sandaran tambahan untuk menjimatkan ruang penyimpanan dan mengurangkan masa yang diperlukan untuk proses pemulihan.
  • Memantau dan mengekalkan: Pantau proses sandaran dan pemulihan anda untuk mengesan dan menyelesaikan masalah sebelum mereka menjadi kritikal.

Alat untuk sandaran dan pemulihan pangkalan data MySQL

Sebagai tambahan kepada mysqldump, terdapat beberapa alat pihak ketiga yang tersedia untuk membantu dalam proses sandaran dan pemulihan:

  • Percona Xtrabackup: Sumber terbuka, utiliti sandaran panas untuk MySQL yang menyokong enjin penyimpanan InnoDB dan XTRADB.
  • MySQL Workbench: Alat grafik untuk reka bentuk pangkalan data, pentadbiran, dan pengurusan sandaran yang merangkumi fungsi sandaran terbina dalam dan memulihkan.
  • Navicat untuk MySQL: Alat pengurusan pangkalan data yang kuat dengan antara muka mesra pengguna yang membolehkan anda membuat, mengurus, dan memulihkan sandaran dengan mudah.
  • Mydumper/myloader: Penyelesaian sandaran dan pulihkan pelbagai prestasi tinggi untuk pangkalan data MySQL. MyDumper mencipta sandaran yang konsisten, tidak menyekat sementara myloader dengan cepat mengembalikannya selari, mengurangkan downtime.
  • Automysqlbackup: Skrip shell untuk mengautomasikan sandaran pangkalan data MySQL, membolehkan anda menjadualkan sandaran setiap hari, mingguan, dan bulanan dengan pemberitahuan e -mel.
  • Backup Ninja: Perkhidmatan sandaran pangkalan data yang mudah, selamat, dan kos efektif yang menyokong MySQL, PostgreSQL, dan pangkalan data lain, membolehkan anda menguruskan sandaran melalui antara muka web berpusat.

Kesimpulan

Memastikan keselamatan dan integriti pangkalan data MySQL anda adalah penting bagi mana-mana organisasi yang bergantung kepada aplikasi yang didorong data. Dengan mengikuti amalan terbaik dan menggunakan alat yang sesuai, anda boleh membuat proses sandaran dan pemulihan yang mantap untuk pangkalan data MySQL anda. Sandaran biasa, penyimpanan luar tapak, pengesahan sandaran, sandaran tambahan, dan pemantauan adalah semua komponen penting dalam strategi sandaran yang berjaya. Dengan menguasai teknik ini dan memanfaatkan alat yang kuat seperti mysqldump, percona xtrabackup, dan mysql workbench, anda dapat melindungi data anda dengan berkesan dan memastikan kesinambungan operasi perniagaan anda.