Rumah  >  Artikel  >  pangkalan data  >  Pembangunan MySQL: Berkongsi pengalaman dalam projek sandaran dan pemulihan data

Pembangunan MySQL: Berkongsi pengalaman dalam projek sandaran dan pemulihan data

WBOY
WBOYasal
2023-11-03 16:48:15582semak imbas

Pembangunan MySQL: Berkongsi pengalaman dalam projek sandaran dan pemulihan data

MySQL kini merupakan salah satu sistem pengurusan pangkalan data hubungan yang paling popular Ia digunakan secara meluas dalam pelbagai bidang seperti Internet, kewangan, dan logistik Ia bukan sahaja mempunyai kebolehpercayaan dan kestabilan yang tinggi, tetapi juga mempunyai penyimpanan data yang baik keupayaan pengurusan. Dalam kerja pembangunan harian, sandaran dan pemulihan data adalah bahagian penting. Berikut adalah beberapa perkongsian pengalaman saya dalam pembangunan projek sebenar.

1. Kepentingan Sandaran Data

Sandaran data adalah salah satu cara penting untuk memastikan keselamatan pangkalan data. Sebaik sahaja data hilang, ia akan memberi kesan yang besar kepada operasi dan pengurusan perusahaan. Oleh itu, pembangun harus menyedari sepenuhnya kepentingan sandaran data dan mengambil langkah yang sesuai untuk melakukan sandaran.

2. Pemilihan penyelesaian sandaran data

MySQL menyediakan pelbagai penyelesaian sandaran, termasuk mysqldump, sandaran fizikal (berdasarkan sistem fail), sandaran log binari, dsb. Berikut ialah penyelesaian sandaran yang saya gunakan.

  1. mysqldump backup

mysqldump ialah alat sandaran MySQL sendiri, yang boleh membuat sandaran sepenuhnya pangkalan data dalam format SQL. Apabila menggunakan pelan sandaran ini, anda perlu menetapkan parameter berikut:

(1) Sandarkan pangkalan data

mysqldump -u root -p --opt database_name > backup_file.sql

(2) Sandarkan hanya jadual tertentu

mysqldump -u root -p database_name table_name > backup_file.sql

Kelebihan sandaran mysqldump ialah fail sandaran mengambil alih ruang kecil dan sangat boleh dibaca, tetapi kelemahan Kelajuan sandaran adalah perlahan dan masa sandaran adalah panjang Untuk sandaran pangkalan data yang besar, sandaran volum mungkin diperlukan.

  1. Sandaran fizikal

Sandaran fizikal merujuk kepada menyandarkan fail data MySQL, membuat sandaran pada peringkat fail data. Proses sandaran merangkumi dua bahagian: salinan fail data dan sandaran log binari. Apabila menggunakan penyelesaian sandaran ini, anda perlu menggunakan alat seperti rsync dan scp untuk menyalin fail data ke pelayan sandaran.

Kelebihan sandaran fizikal ialah kelajuan sandaran yang cepat dan masa sandaran adalah singkat, tetapi kelemahannya ialah fail sandaran mengambil ruang yang agak besar.

  1. Sandaran log binari

Log binari MySQL merekodkan semua perubahan yang dibuat pada pangkalan data Apabila menggunakan penyelesaian sandaran ini, anda hanya perlu menyandarkan log binari. Apabila menggunakan pelan sandaran ini, anda perlu menetapkan parameter berikut:

(1) Hidupkan log binari

log-bin=mysql-bin

(2) Sandarkan log binari

mysqlbinlog -u root -p binlog_file > backup_file.sql

Kelebihan sandaran log binari ialah kelajuan sandaran adalah pantas, dan sandaran tambahan dan sandaran pembezaan boleh dilakukan Tetapi kelemahannya ialah fail sandaran tidak boleh digunakan secara langsung untuk memulihkan data, dan log binari perlu dihuraikan terlebih dahulu.

3. Pemilihan penyelesaian pemulihan data

Sebelum pemulihan data, anda perlu memutuskan penyelesaian sandaran yang hendak digunakan untuk pemulihan. Berikut ialah penyelesaian pemulihan data yang saya gunakan.

  1. mysqldump recovery

Apabila menggunakan mysqldump untuk sandaran, anda boleh menggunakan arahan berikut untuk memulihkan:

mysql -u root -p database_name < backup_file.sql

Arahan ini akan mengimport data dalam fail sandaran ke dalam pangkalan data yang ditentukan. Memandangkan fail sandaran lebih mudah dibaca, fail sandaran boleh diubah suai, seperti memadam beberapa rekod atau menambah beberapa pernyataan SQL.

  1. Pemulihan sandaran fizikal

Apabila menggunakan sandaran fizikal untuk sandaran, anda boleh menggunakan arahan berikut untuk memulihkan:

(1) Hentikan MySQL

service mysql stop

(2) Salin fail data

Salin fail sandaran ke laluan yang sama bagi pelayan asal Seterusnya, tulis ganti fail data asal.

(3) Mulakan MySQL

service mysql start

Apabila menggunakan sandaran fizikal untuk pemulihan, sila ambil perhatian: sebelum pemulihan, anda perlu menghentikan perkhidmatan MySQL selepas pemulihan, anda perlu memulakan semula perkhidmatan MySQL apabila memulihkan pangkalan data yang besar, berbilang sandaran; mungkin diperlukan dan sandaran volum.

  1. Pemulihan log binari

Apabila menggunakan log binari untuk sandaran, anda boleh menggunakan arahan berikut untuk memulihkan:

(1) Salin log binari sebelum titik masa pemulihan ke pelayan sandaran

(2) Gunakan perintah mysqlbinlog untuk menghuraikan Log binari

mysqlbinlog -u root -p --start_datetime="2019-01-01 00:00:00" --stop_datetime="2019-01-02 00:00:00" mysql-bin.000001 > backup_file.sql

(3) Import fail SQL yang dijana ke dalam pangkalan data yang ditentukan

mysql -u root -p database_name < backup_file.sql

Apabila menggunakan pemulihan log binari, sila ambil perhatian: titik masa pemulihan perlu ditentukan dengan tepat untuk pangkalan data yang besar, berbilang sandaran dan pemulihan mungkin diperlukan.

4. Soalan lazim tentang sandaran dan pemulihan data

Semasa proses sandaran dan pemulihan sebenar, anda mungkin menghadapi beberapa masalah. Berikut adalah beberapa masalah biasa dan penyelesaiannya.

  1. Fail sandaran terlalu besar

Untuk menyelesaikan masalah fail sandaran yang terlalu besar, anda boleh menggunakan sandaran kelantangan untuk menyelesaikannya.

  1. Ralat berlaku semasa proses pemulihan

Untuk masalah ralat pemulihan, anda boleh mencetak log ralat untuk dilihat, atau mengekstrak beberapa fail sandaran untuk pemulihan.

  1. Data Inconsistency

Semasa proses pemulihan data, ketidakkonsistenan data mungkin berlaku. Dalam kes ini, anda boleh menggunakan alat mysqldiff untuk membandingkan kedua-dua pangkalan data, dan kemudian menggunakan fail perbezaan untuk membuat pengubahsuaian.

5. Ringkasan

Sandaran dan pemulihan data ialah bahagian penting dalam kerja pembangunan MySQL. Pembangun harus menyedari sepenuhnya kepentingan sandaran data dan memilih penyelesaian sandaran dan pemulihan yang sesuai. Pada masa yang sama, penyelesaian yang sepadan perlu dibangunkan untuk masalah biasa bagi memastikan keselamatan dan kebolehpercayaan pangkalan data.

Atas ialah kandungan terperinci Pembangunan MySQL: Berkongsi pengalaman dalam projek sandaran dan pemulihan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn