Heim Datenbank MySQL-Tutorial MySQL数据库备份方案

MySQL数据库备份方案

Jun 07, 2016 pm 05:10 PM
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

linux

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-Entwicklungspraxis: Verwenden Sie PHPMailer, um E-Mails an Benutzer in der MySQL-Datenbank zu senden PHP-Entwicklungspraxis: Verwenden Sie PHPMailer, um E-Mails an Benutzer in der MySQL-Datenbank zu senden Aug 05, 2023 pm 06:21 PM

PHP-Entwicklungspraxis: Verwenden Sie PHPMailer, um E-Mails an Benutzer in der MySQL-Datenbank zu senden. Einführung: Beim Aufbau des modernen Internets ist E-Mail ein wichtiges Kommunikationswerkzeug. Ob Benutzerregistrierung, Passwort-Zurücksetzung oder Bestellbestätigung im E-Commerce – das Versenden von E-Mails ist eine wesentliche Funktion. In diesem Artikel wird erläutert, wie Sie mit PHPMailer E-Mails senden und die E-Mail-Informationen in der Benutzerinformationstabelle in der MySQL-Datenbank speichern. 1. Installieren Sie die PHPMailer-Bibliothek PHPMailer

Go-Sprache und MySQL-Datenbank: Wie trennt man heiße und kalte Daten? Go-Sprache und MySQL-Datenbank: Wie trennt man heiße und kalte Daten? Jun 18, 2023 am 08:26 AM

Da die Datenmenge immer weiter zunimmt, wird die Datenbankleistung zu einem immer wichtigeren Thema. Die Verarbeitung heißer und kalter Daten ist eine effektive Lösung, die heiße und kalte Daten trennen und so die Systemleistung und -effizienz verbessern kann. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprache und der MySQL-Datenbank heiße und kalte Daten trennen. 1. Was ist die Verarbeitung heißer und kalter Daten? Die Verarbeitung heißer und kalter Daten ist eine Möglichkeit, heiße und kalte Daten zu klassifizieren. Unter Hot Data versteht man Daten mit hoher Zugriffshäufigkeit und hohen Leistungsanforderungen

Inwieweit kann ich MySQL-Datenbankkenntnisse entwickeln, um erfolgreich eingesetzt zu werden? Inwieweit kann ich MySQL-Datenbankkenntnisse entwickeln, um erfolgreich eingesetzt zu werden? Sep 12, 2023 pm 06:42 PM

Inwieweit kann ich MySQL-Datenbankkenntnisse entwickeln, um erfolgreich eingesetzt zu werden? Mit der rasanten Entwicklung des Informationszeitalters sind Datenbankverwaltungssysteme zu einem unverzichtbaren und wichtigen Bestandteil in allen Lebensbereichen geworden. Als weit verbreitetes relationales Datenbankverwaltungssystem verfügt MySQL über ein breites Spektrum an Anwendungsfeldern und Einsatzmöglichkeiten. Inwieweit müssen also MySQL-Datenbankkenntnisse entwickelt werden, um erfolgreich eingesetzt zu werden? Zunächst einmal ist die Beherrschung der Grundprinzipien und Grundkenntnisse von MySQL die grundlegendste Voraussetzung. MySQL ist eine relationale Open-Source-Datenbankverwaltung

So führen Sie eine inkrementelle Datensicherung der MySQL-Datenbank mit der Go-Sprache durch So führen Sie eine inkrementelle Datensicherung der MySQL-Datenbank mit der Go-Sprache durch Jun 17, 2023 pm 02:28 PM

Mit zunehmender Datenmenge wird die Sicherung der Datenbank immer wichtiger. Für die MySQL-Datenbank können wir die Go-Sprache verwenden, um eine automatisierte inkrementelle Sicherung zu erreichen. In diesem Artikel wird kurz vorgestellt, wie Sie mithilfe der Go-Sprache eine inkrementelle Sicherung von MySQL-Datenbankdaten durchführen. 1. Installieren Sie die Go-Sprachumgebung. Zuerst müssen wir die Go-Sprachumgebung lokal installieren. Sie können auf der offiziellen Website das entsprechende Installationspaket herunterladen und installieren. 2. Installieren Sie die entsprechende Bibliothek. Die Go-Sprache bietet viele Bibliotheken von Drittanbietern für den Zugriff auf MySQL-Datenbanken, darunter die am häufigsten verwendeten

Wie verwende ich die MySQL-Datenbank für die Zeitreihenanalyse? Wie verwende ich die MySQL-Datenbank für die Zeitreihenanalyse? Jul 12, 2023 am 08:39 AM

Wie verwende ich die MySQL-Datenbank für die Zeitreihenanalyse? Zeitreihendaten beziehen sich auf eine Sammlung von Daten, die in zeitlicher Reihenfolge angeordnet sind und zeitliche Kontinuität und Korrelation aufweisen. Die Zeitreihenanalyse ist eine wichtige Datenanalysemethode, mit der zukünftige Trends vorhergesagt, zyklische Veränderungen entdeckt, Ausreißer erkannt usw. werden können. In diesem Artikel stellen wir Ihnen zusammen mit Codebeispielen vor, wie Sie eine MySQL-Datenbank für die Zeitreihenanalyse verwenden. Erstellen Sie eine Datentabelle. Zuerst müssen wir eine Datentabelle erstellen, um Zeitreihendaten zu speichern. Angenommen, wir möchten die Zahl analysieren

Wie verwende ich die MySQL-Datenbank für die Bildverarbeitung? Wie verwende ich die MySQL-Datenbank für die Bildverarbeitung? Jul 14, 2023 pm 12:21 PM

Wie verwende ich die MySQL-Datenbank für die Bildverarbeitung? MySQL ist ein leistungsstarkes relationales Datenbankverwaltungssystem, das nicht nur zum Speichern und Verwalten von Daten, sondern auch zur Bildverarbeitung verwendet werden kann. In diesem Artikel wird die Verwendung einer MySQL-Datenbank für die Bildverarbeitung vorgestellt und einige Codebeispiele bereitgestellt. Bevor Sie beginnen, stellen Sie sicher, dass Sie eine MySQL-Datenbank installiert haben und mit grundlegenden SQL-Anweisungen vertraut sind. Erstellen Sie eine Datenbanktabelle. Erstellen Sie zunächst eine neue Datenbanktabelle zum Speichern der Bilddaten. Der Aufbau der Tabelle kann wie folgt sein

Wie stelle ich mithilfe der Go-Sprache eine zuverlässige MySQL-Datenbankverbindung her? Wie stelle ich mithilfe der Go-Sprache eine zuverlässige MySQL-Datenbankverbindung her? Jun 17, 2023 pm 07:18 PM

Aufgrund der großen Datenmengen, die gespeichert und verarbeitet werden müssen, ist MySQL zu einer der am häufigsten verwendeten relationalen Datenbanken in der Anwendungsentwicklung geworden. Die Go-Sprache erfreut sich bei Entwicklern aufgrund ihrer effizienten Parallelitätsverarbeitung und prägnanten Syntax immer größerer Beliebtheit. Dieser Artikel führt die Leser dazu, eine zuverlässige MySQL-Datenbankverbindung über die Go-Sprache zu implementieren, sodass Entwickler Daten effizienter abfragen und speichern können. 1. Mehrere Möglichkeiten für die Go-Sprache, eine Verbindung zur MySQL-Datenbank herzustellen. Normalerweise gibt es drei Möglichkeiten, eine Verbindung zur MySQL-Datenbank in der Go-Sprache herzustellen: 1. Bibliothek eines Drittanbieters

MySQL-Datenbank und Go-Sprache: Wie führt man Daten-Caching durch? MySQL-Datenbank und Go-Sprache: Wie führt man Daten-Caching durch? Jun 17, 2023 am 10:05 AM

In den letzten Jahren erfreut sich die Go-Sprache bei Entwicklern immer größerer Beliebtheit und hat sich zu einer der bevorzugten Sprachen für die Entwicklung leistungsstarker Webanwendungen entwickelt. MySQL ist ebenfalls eine beliebte Datenbank, die weit verbreitet ist. Bei der Kombination dieser beiden Technologien ist Caching ein sehr wichtiger Teil. Im Folgenden wird erläutert, wie Sie mit der Go-Sprache den Cache der MySQL-Datenbank verwalten. Das Konzept des Cachings In Webanwendungen ist Caching eine mittlere Schicht, die erstellt wurde, um den Datenzugriff zu beschleunigen. Es wird hauptsächlich zum Speichern häufig angeforderter Daten verwendet

See all articles