Rumah  >  Artikel  >  pangkalan data  >  Penyelesaian sandaran dan pemulihan berbilang untuk MySql: Bagaimana untuk memulihkan pangkalan data MySQL daripada berbilang sandaran

Penyelesaian sandaran dan pemulihan berbilang untuk MySql: Bagaimana untuk memulihkan pangkalan data MySQL daripada berbilang sandaran

WBOY
WBOYasal
2023-06-16 08:24:092166semak imbas

MySQL ialah sistem pengurusan pangkalan data sumber terbuka popular yang digunakan secara meluas dalam pelbagai projek dan perusahaan. Pangkalan data adalah teras projek, dan data di dalamnya juga merupakan bahagian yang sangat diperlukan dalam projek, jadi sandaran dan pemulihan pangkalan data sangat penting. Dalam artikel ini, kami akan meneroka cara memastikan keselamatan pangkalan data MySQL melalui pelbagai penyelesaian sandaran dan pemulihan.

Kaedah pertama: Gunakan arahan mysqldump untuk membuat sandaran pangkalan data

Mysqldump ialah arahan yang paling biasa digunakan untuk sandaran MySQL. Ia boleh menyandarkan keseluruhan pangkalan data atau jadual individu. Sintaks asas perintah mysqldump adalah seperti berikut:

 mysqldump -h host -u user -p database_name > backup.sql

Penjelasan parameter:

  • -h: Tentukan hos di mana pangkalan data yang akan disandarkan terletak.
  • -u: Tentukan nama pengguna untuk disambungkan ke pangkalan data.
  • -p: Tentukan kata laluan pengguna untuk menyambung ke pangkalan data.
  • database_name: Tentukan nama pangkalan data untuk disandarkan.
  • : Simpan data yang disandarkan ke fail yang ditentukan.

Fail yang disandarkan boleh disimpan pada pelayan tempatan atau pada pelayan jauh. Apabila anda perlu memulihkan pangkalan data, hanya gunakan arahan berikut:

mysql -u user -p database_name < backup.sql

Penjelasan parameter:

  • -u: Tentukan nama pengguna untuk disambungkan ke pangkalan data.
  • -p: Tentukan kata laluan pengguna untuk menyambung ke pangkalan data.
  • database_name: Tentukan nama pangkalan data untuk dipulihkan.
  • <: Baca data daripada fail sandaran yang ditentukan.

Kedua: Gunakan sandaran log binari MySQL

Log binari MySQL boleh digunakan untuk merekodkan semua perubahan pada data MySQL. Dengan menggunakan sandaran log binari, kami boleh memulihkan semua perubahan semasa memulihkan pangkalan data, bukan hanya data selepas sandaran. Untuk menjana sandaran log binari, sila ikuti langkah di bawah:

  1. Dayakan fungsi log binari.

Tambah baris berikut dalam fail konfigurasi MySQL:

[mysqld]
log-bin=/var/lib/mysql/binlog/mysql-bin.log
  1. Mulakan semula perkhidmatan MySQL.
sudo /etc/init.d/mysql restart
  1. Cipta sandaran log binari.

Anda boleh membuat sandaran log binari dengan melaksanakan arahan berikut:

SHOW MASTER STATUS;

Selepas melaksanakan arahan ini, MySQL akan mengembalikan nama dan lokasi log binari.

  1. Gunakan sandaran log binari apabila memulihkan data.

Gunakan arahan berikut untuk memulihkan data:

mysqlbinlog --start-position=512 mysql-bin.000001 > backup.sql

Arahan ini akan membaca semua perubahan daripada log binari dan menulisnya ke fail sandaran. Kami kemudiannya boleh menggunakan arahan mysqldump untuk memulihkan data sandaran ke dalam pangkalan data.

Jenis ketiga: Gunakan Percona XtraBackup untuk membuat sandaran dan memulihkan pangkalan data

Percona XtraBackup ialah alat untuk membuat sandaran dan memulihkan pangkalan data MySQL, yang boleh mengurangkan masa sandaran dan masa pemulihan serta mengurangkan masa sandaran dan risiko pemulihan. Ia adalah alat sumber terbuka percuma yang dibangunkan dan diselenggara oleh Percona. Berikut ialah langkah untuk membuat sandaran dan memulihkan data menggunakan Percona XtraBackup:

  1. Memasang Percona XtraBackup

Pada sistem Ubuntu, anda boleh menggunakan arahan berikut untuk memasang Percona XtraBackup:

sudo apt-get install percona-xtrabackup
  1. Buat Sandaran

Buat sandaran menggunakan arahan berikut:

sudo innobackupex --user=root --password=yourpassword /var/backup/

Ini akan mencipta fail sandaran lengkap dalam /var/backup/ direktori. Masa sandaran bergantung pada saiz pangkalan data.

  1. Pulihkan sandaran

Sebelum memulihkan sandaran, pelayan MySQL mesti dihentikan dan pangkalan data MySQL sedia ada dipadamkan. Selepas sandaran selesai, hentikan pelayan MySQL:

sudo /etc/init.d/mysql stop

Kemudian, padam pangkalan data MySQL sedia ada:

sudo rm -rf /var/lib/mysql/*

Akhir sekali, pulihkan pangkalan data daripada fail sandaran:

sudo innobackupex --user=root --password=yourpassword --copy-back /var/backup/

Proses Pemulihan Ia akan mengambil sedikit masa, bergantung pada saiz data sandaran. Setelah selesai, anda boleh memulakan semula pelayan MySQL:

sudo /etc/init.d/mysql start

Ringkasan:

Tidak kira kaedah sandaran yang anda gunakan, pastikan anda menggunakan kaedah dan alatan yang betul untuk membuat sandaran dan memulihkan pangkalan data anda. Bukan sahaja penyelesaian sandaran berbilang harus digunakan, tetapi sandaran juga harus diuji secara berkala untuk memastikan data boleh dipulihkan tepat pada masanya sekiranya berlaku bencana. Strategi sandaran dan pemulihan yang baik adalah kunci untuk memastikan keselamatan pangkalan data.

Atas ialah kandungan terperinci Penyelesaian sandaran dan pemulihan berbilang untuk MySql: Bagaimana untuk memulihkan pangkalan data MySQL daripada berbilang sandaran. 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