MySQL数据库备份方案
每天中午12点和晚上12点做一次全备,每隔一小时备份binlog,也就是增量备份,具体操作如下:Linux下开启binlog/etc/my.cnf中的mys
一、主从同步
可以参考
二、增量备份:
每天中午12点和晚上12点做一次全备,每隔一小时备份binlog,也就是增量备份,,具体操作如下:
Linux下开启binlog
/etc/my.cnf中的mysqld部分加入:
[mysqld]
log-bin=../logs/mysql-bin
max-binlog-size=50M
windows下开启binlog
%mysql%/my.ini中的mysqld部分加入:
[mysqld]
log-bin =../logs/mysql-bin
max-binlog-size=50M
完整备份脚本 (网友提供)
如果数据库数据量比较大,可以一天全备一次, 再每隔一小时增量备份一次;
#!/bin/sh
# mysql data backup script #
# use mysqldump --help,get more detail.
BakDir=/backup/mysql
LogFile=/backup/mysql/mysqlbak.log
DATE=`date +%Y%m%d`
echo " " >> $LogFile
echo " " >> $LogFile
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tgz
mysqldump --quick --all-databases --flush-logs
--delete-master-logs --lock-all-tables
> $DumpFile
echo "Dump Done" >> $LogFile
tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1
echo "[$GZDumpFile]Backup Success!" >> $LogFile
rm -f $DumpFile
#delete previous daily backup files:采用增量备份的文件,如果完整备份后,则删除增量备份的文件.
cd $BakDir/daily
rm -f *
cd $BakDir
echo "Backup Done!"
echo "please Check $BakDir Directory!"
echo "copy it to your local disk or ftp to somewhere !!!"
ls -al $BakDir
上面的脚本把mysql备份到本地的/backup/mysql目录,增量备份的文件放在/backup/mysql/daily目录下.
增量备份
增量备份的数据量比较小,但是要在完整备份的基础上操作
增量备份使用bin log,脚本如下:
#!/bin/sh
# mysql binlog backup script
/usr/bin/mysqladmin flush-logs
DATADIR=/var/lib/mysql
BAKDIR=/backup/mysql/daily
###如果你做了特殊设置,请修改此处或者修改应用此变量的行:缺省取机器名,mysql缺省也是取机器名
HOSTNAME=`uname -n`
cd $DATADIR
FILELIST=`cat $HOSTNAME-bin.index`
##计算行数,也就是文件数
COUNTER=0
for file in $FILELIST
do
COUNTER=`expr $COUNTER + 1 `
done
NextNum=0
for file in $FILELIST
do
base=`basename $file`
NextNum=`expr $NextNum + 1`
if [ $NextNum -eq $COUNTER ]
then
echo "skip lastest"
else
dest=$BAKDIR/$base
if(test -e $dest)
then
echo "skip exist $base"
else
echo "copying $base"
cp $base $BAKDIR
fi
fi
done
echo "backup mysql binlog ok"
增量备份脚本是备份前flush-logs,mysql会自动把内存中的日志放到文件里,然后生成一个新的日志文件,所以我们只需要备份前面的几个即可,也就是不备份最后一个.
因为从上次备份到本次备份也可能会有多个日志文件生成,所以要检测文件,如果已经备份过,就不用备份了.
数据还原:
先还原最近的完全备份数据:
mysql -hhostname -uusername -ppassword databasename
再还原binlog :
./mysqlbinlog --start-date="2009-04-10 17:30:05" --stop-date="2009-04-10 17:41:28" /usr/local/mysql/data/mysql-bin.000002 |mysql -u root -p123456

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Amalan pembangunan PHP: Gunakan PHPMailer untuk menghantar e-mel kepada pengguna dalam pangkalan data MySQL Pengenalan: Dalam pembinaan Internet moden, e-mel ialah alat komunikasi yang penting. Sama ada pendaftaran pengguna, tetapan semula kata laluan atau pengesahan pesanan dalam e-dagang, menghantar e-mel adalah fungsi penting. Artikel ini akan memperkenalkan cara menggunakan PHPMailer untuk menghantar e-mel dan menyimpan maklumat e-mel ke jadual maklumat pengguna dalam pangkalan data MySQL. 1. Pasang pustaka PHPMailer PHPMailer ialah

Memandangkan jumlah data terus meningkat, prestasi pangkalan data telah menjadi isu yang semakin penting. Pemprosesan pemisahan data panas dan sejuk ialah penyelesaian berkesan yang boleh memisahkan data panas dan data sejuk, dengan itu meningkatkan prestasi dan kecekapan sistem. Artikel ini akan memperkenalkan cara menggunakan bahasa Go dan pangkalan data MySQL untuk memisahkan data panas dan sejuk. 1. Apakah pemprosesan pemisahan data panas dan sejuk Pemprosesan pemisahan data panas dan sejuk ialah cara mengklasifikasikan data panas dan data sejuk. Data panas merujuk kepada data dengan kekerapan akses tinggi dan keperluan data sejuk

Sejauh manakah saya boleh membangunkan kemahiran pangkalan data MySQL untuk berjaya digunakan? Dengan perkembangan pesat era maklumat, sistem pengurusan pangkalan data telah menjadi komponen yang amat diperlukan dan penting dalam semua lapisan masyarakat. Sebagai sistem pengurusan pangkalan data hubungan yang biasa digunakan, MySQL mempunyai pelbagai bidang aplikasi dan peluang pekerjaan. Jadi, sejauh manakah kemahiran pangkalan data MySQL perlu dibangunkan untuk berjaya digunakan? Pertama sekali, menguasai prinsip asas dan pengetahuan asas MySQL adalah keperluan paling asas. MySQL ialah pengurusan pangkalan data hubungan sumber terbuka

Apabila jumlah data meningkat, sandaran pangkalan data menjadi lebih penting. Untuk pangkalan data MySQL, kita boleh menggunakan bahasa Go untuk mencapai sandaran tambahan automatik. Artikel ini akan memperkenalkan secara ringkas cara menggunakan bahasa Go untuk melaksanakan sandaran tambahan data pangkalan data MySQL. 1. Pasang persekitaran bahasa Go Mula-mula, kita perlu memasang persekitaran bahasa Go secara setempat. Anda boleh pergi ke laman web rasmi untuk memuat turun pakej pemasangan yang sepadan dan memasangnya. 2. Pasang perpustakaan yang sepadan Bahasa Go menyediakan banyak perpustakaan pihak ketiga untuk mengakses pangkalan data MySQL, antaranya yang paling biasa digunakan ialah.

Bagaimana untuk menggunakan pangkalan data MySQL untuk analisis siri masa? Data siri masa merujuk kepada koleksi data yang disusun mengikut urutan masa, yang mempunyai kesinambungan dan korelasi temporal. Analisis siri masa ialah kaedah analisis data penting yang boleh digunakan untuk meramalkan arah aliran masa hadapan, menemui perubahan kitaran, mengesan penyimpangan, dsb. Dalam artikel ini, kami akan memperkenalkan cara menggunakan pangkalan data MySQL untuk analisis siri masa, bersama-sama dengan contoh kod. Buat jadual data Mula-mula, kita perlu mencipta jadual data untuk menyimpan data siri masa. Katakan kita ingin menganalisis nombor

Bagaimana untuk menggunakan pangkalan data MySQL untuk pemprosesan imej? MySQL ialah sistem pengurusan pangkalan data hubungan yang berkuasa Selain menyimpan dan mengurus data, ia juga boleh digunakan untuk pemprosesan imej. Artikel ini akan memperkenalkan cara menggunakan pangkalan data MySQL untuk pemprosesan imej dan menyediakan beberapa contoh kod. Sebelum anda bermula, pastikan anda telah memasang pangkalan data MySQL dan biasa dengan pernyataan SQL asas. Buat jadual pangkalan data Mula-mula, buat jadual pangkalan data baharu untuk menyimpan data imej. Struktur jadual boleh seperti berikut

Dengan jumlah data yang besar yang perlu disimpan dan diproses, MySQL telah menjadi salah satu pangkalan data hubungan yang paling biasa digunakan dalam pembangunan aplikasi. Bahasa Go menjadi semakin popular di kalangan pembangun kerana pemprosesan serentak yang cekap dan sintaks ringkasnya. Artikel ini akan membawa pembaca untuk melaksanakan sambungan pangkalan data MySQL yang boleh dipercayai melalui bahasa Go, membolehkan pembangun membuat pertanyaan dan menyimpan data dengan lebih cekap. 1. Beberapa cara untuk bahasa Go untuk menyambung ke pangkalan data MySQL Biasanya terdapat tiga cara untuk menyambung ke pangkalan data MySQL dalam bahasa Go, iaitu: 1. Pustaka pihak ketiga

Dalam beberapa tahun kebelakangan ini, bahasa Go telah menjadi semakin popular di kalangan pembangun dan telah menjadi salah satu bahasa pilihan untuk membangunkan aplikasi web berprestasi tinggi. MySQL juga merupakan pangkalan data popular yang digunakan secara meluas. Dalam proses menggabungkan kedua-dua teknologi ini, caching adalah bahagian yang sangat penting. Berikut akan memperkenalkan cara menggunakan bahasa Go untuk mengendalikan cache pangkalan data MySQL. Konsep caching Dalam aplikasi web, caching ialah lapisan tengah yang dicipta untuk mempercepatkan capaian data. Ia digunakan terutamanya untuk menyimpan data yang kerap diminta
