Rumah > pangkalan data > tutorial mysql > Teknik sandaran bergolek MySQL untuk data

Teknik sandaran bergolek MySQL untuk data

WBOY
Lepaskan: 2023-06-15 19:47:44
asal
1548 orang telah melayarinya

MySQL ialah pangkalan data hubungan popular yang digunakan secara meluas dalam pelbagai bidang. Walau bagaimanapun, seperti aplikasi lain, MySQL mempunyai risiko seperti rasuah data, ranap dan serangan berniat jahat. Oleh itu, membuat sandaran data anda adalah penting.

Sandaran boleh memberikan keselamatan dan beberapa bentuk fungsi "buat asal" kepada data, mengurangkan atau bahkan menghapuskan ketidakstabilan dan risiko. Jenis sandaran yang paling biasa ialah sandaran penuh dan sandaran tambahan. Walau bagaimanapun, jika anda memerlukan sandaran masa nyata yang kerap, sandaran bergolek adalah pendekatan yang lebih baik.

Menggulung sandaran bermaksud membuat sandaran secara automatik semua data dalam selang masa yang boleh diterima, selang ini dipanggil selang sandaran. Sandaran berguling memadamkan sandaran tertua dan mencipta sandaran baharu apabila sandaran dilakukan. Kelebihan terbesar kaedah ini ialah ia dapat memastikan prestasi masa nyata dan kebolehpulihan data.

Berikut ialah cara menggunakan MySQL untuk melaksanakan teknik sandaran bergolek data:

  1. Buat skrip sandaran

Buat skrip sandaran yang boleh dilaksanakan arahan mysqldump untuk membuat sandaran pangkalan data. Selain itu, anda perlu menentukan nama dan lokasi fail sandaran, serta selang sandaran. Berikut ialah contoh skrip sandaran:

#!/bin/bash 

# Set database credentials 
user="username" 
password="password" 
host="localhost" 
db_name="database_name" 

# Set backup directory and filename 
backup_dir="/backup/mysql" 
timestamp=$(date +%Y%m%d-%H%M%S) 
backup_name="$db_name-$timestamp.sql.gz" 

# Remove old backups 
find "$backup_dir" -type f -mtime +15 -delete 

# Create backup 
mysqldump --user=$user --password=$password --host=$host $db_name | gzip > "$backup_dir/$backup_name" 

echo "Backup created successfully: $backup_name"
Salin selepas log masuk

Dalam skrip sandaran di atas, anda perlu menggantikan pengguna, kata laluan, hos dan db_name dengan bukti kelayakan MySQL dan nama pangkalan data anda sendiri. Selain itu, skrip sandaran akan memadamkan sandaran 15 hari yang lalu pada setiap sandaran dan menyimpan sandaran baharu ke direktori backup_dir yang ditentukan.

  1. Buat tugas berjadual

Seterusnya, anda perlu menetapkan skrip sandaran sebagai tugas berjadual untuk memastikan operasi sandaran dilakukan pada masa tertentu. Di Linux anda boleh menggunakan penjadual kerja cron. Masukkan arahan berikut pada baris arahan untuk mengedit kerja cron:

crontab -e
Salin selepas log masuk

Kemudian, tambah baris berikut pada fail tugas cron untuk melakukan sandaran setiap hari dan biarkan 2 jam antara setiap sandaran:

0 */2 * * * /bin/bash /path/to/backup_script.sh
Salin selepas log masuk

Dalam baris di atas, /bin/bash /path/to/backup_script.sh ialah laluan ke skrip sandaran. Ini bermakna skrip sandaran akan dilaksanakan setiap dua jam.

  1. Pulihkan Pangkalan Data

Jika anda perlu memulihkan data anda, hanya gunakan arahan berikut:

gunzip < backup.sql.gz | mysql -u [user] -p[password] [database_name]
Salin selepas log masuk

Proses pemulihan akan menggunakan gzip untuk menyahmampat fail sandaran dan Data dimuatkan ke dalam pangkalan data MySQL yang ditentukan.

Ringkasnya, menggunakan MySQL untuk melaksanakan sandaran rolling data boleh memastikan anda dapat mengekalkan integriti dan kebolehpulihan data anda walaupun dalam keadaan yang tidak dijangka. Langkah di atas menyediakan rangka kerja asas supaya sandaran masa nyata boleh diautomasikan.

Atas ialah kandungan terperinci Teknik sandaran bergolek MySQL untuk data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan