MySQL开源备份工具Xtrabackup备份部署
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好
Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
Xtrabackup有两个主要的工具:xtrabackup、innobackupex
1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
2、innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的 同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢 复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。
Xtrabackup下载地址:
选择合适的版本,,我这里选择binary。
解压到/usr/src/目录,解压后目录名percona-xtrabackup-2.1.3,进入到bin目录,即可直接使用innobackupex命令
# pwd
/usr/src/percona-xtrabackup-2.1.3/bin
# ls -l
total 112396
-rwxr-xr-x 1 root root 110738 Jun 7 11:43 innobackupex
-rwxr-xr-x 1 root root 110738 Jun 7 11:43 innobackupex-1.5.1
-rwxr-xr-x 1 root root 2211237 Jun 7 11:43 xbcrypt
-rwxr-xr-x 1 root root 2285672 Jun 7 11:43 xbstream
-rwxr-xr-x 1 root root 13033745 Jun 7 11:43 xtrabackup
-rwxr-xr-x 1 root root 16333506 Jun 7 11:43 xtrabackup_55
-rwxr-xr-x 1 root root 80988093 Jun 7 11:43 xtrabackup_56
在开始使用的时候可能会报如下错误:
sh: xtrabackup_55: command not found
innobackupex: fatal error: no 'mysqld' group in MySQL options
解决办法xtrabackup_55复制到/usr/bin下即可。
# cp /usr/src/percona-xtrabackup-2.1.3/bin/xtrabackup_55 /usr/bin/
建立mysql备份用户:
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'backupuser'@'localhost' identified by 'skEBfef5E2';
mysql> FLUSH PRIVILEGES;
备份脚本内容(每周一次全备,六次增量备份,保留2周的备份,并压缩):
#!/bin/bash
BEGINTIME=`date +"%Y-%m-%d %H:%M:%S"`
format_time=`date +"%Y-%m-%d_%H:%M:%S"`
week=`date +%w`
backupbin=/usr/src/percona-xtrabackup-2.1.3/bin
backdir=/data/databasebak/bak
file_cnf=/etc/my.cnf
user_name=backupuser
password="skEBfef5E2"
db="db1 db2 db3 db4"
out_log=$backdir/xtrabackup_log_$format_time
time_cost=$backdir/xtrabackup_time.txt
if [ -f "$backdir.lastlastlastweek.gz" ];then
rm -rf $backdir.lastlastweek.gz
mv $backdir.lastweek.gz $backdir.lastlastweek.gz
fi
if [ -d "$backdir/rec5" ];then
gzip -cr $backdir >$backdir.lastweek.gz
rm -rf $backdir
mkdir $backdir
fi
#full
if [ ! -d "$backdir/full" ];then
echo "#####start full backup at $BEGINTIME to directory full" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" $backdir/full 1> $out_log 2>&1
break;
elif [ ! -d "$backdir/rec0" ];then
echo "#####start 0 incremental backup at $BEGINTIME to directory rec0" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" --incremental --incremental-basedir=$backdir/full $backdir/rec0 1> $out_log 2>&1
break;
elif [ ! -d "$backdir/rec1" ];then
echo "#####start 1 incremental backup at $BEGINTIME to directory rec1" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" --incremental --incremental-basedir=$backdir/rec0 $backdir/rec1 1> $out_log 2>&1
break;
elif [ ! -d "$backdir/rec2" ];then
echo "#####start 2 incremental backup at $BEGINTIME to directory rec2" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" --incremental --incremental-basedir=$backdir/rec1 $backdir/rec2 1> $out_log 2>&1
break;
elif [ ! -d "$backdir/rec3" ];then
echo "#####start 3 incremental backup at $BEGINTIME to directory rec3" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" --incremental --incremental-basedir=$backdir/rec2 $backdir/rec3 1> $out_log 2>&1
break;
elif [ ! -d "$backdir/rec4" ];then
echo "#####start 4 incremental backup at $BEGINTIME to directory rec4" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" --incremental --incremental-basedir=$backdir/rec3 $backdir/rec4 1> $out_log 2>&1
break;
elif [ ! -d "$backdir/rec5" ];then
echo "#####start 5 incremental backup at $BEGINTIME to directory rec5" >>$time_cost
$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --slave-info --databases="$db" --incremental --incremental-basedir=$backdir/rec4 $backdir/rec5 1> $out_log 2>&1
break;
fi
ENDTIME=`date +"%Y-%m-%d %H:%M:%S"`
begin_data=`date -d "$BEGINTIME" +%s`
end_data=`date -d "$ENDTIME" +%s`
spendtime=`expr $end_data - $begin_data`
echo "it takes $spendtime sec for packing the data directory" >>$time_cost
部署备份脚本;
# crontab -l
10 2 * * * /opt/cron/mysqldbbakup.sh
恢复:
#全备恢复:
innobackupex --apply-log --redo-only --defaults-file=$file_cnf --user=$user_name --password=$password $backdir/full
#增备恢复,修改增量备份目录,逐个apply-log,到第五天的增量rec4都是输出都显示innobackupex: completed OK!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Inkrementelle MySQL-Sicherung mit Inside. Aus Kompatibilitätsgründen wird innobackupex außerdem als Softlink von xtrabackup verwendet. Das heißt, xtrabackup unterstützt jetzt Nicht-Innodb-Tabellensicherung und Innobackupex wird entfernt nächste Version (8.0 wurde entfernt). Es wird empfohlen, xtraba zu verwenden

MySql ist ein häufig verwendetes relationales Datenbankverwaltungssystem, das in verschiedenen Geschäfts- und Anwendungsszenarien weit verbreitet ist. Bei MySQL-Backup-Problemen sind die Auswahl und Ausführungsmethode des Backup-Plans entscheidend. In diesem Artikel stellen wir verschiedene Backup-Optionen vor und zeigen Ihnen, wie Sie MySQL-Backups effizient erstellen und wiederherstellen. 1. Auswahl des Backup-Plans Bei der Auswahl eines MySQL-Backup-Plans sollten Sie basierend auf dem Geschäftsszenario und der tatsächlichen Situation einen Backup-Plan auswählen, der zu Ihnen passt. Kaltes Backup Das sogenannte kalte Backup dient der Vervollständigung der MySQL-Datenbank.

So verwenden Sie MySQL-Datensicherungs- und -wiederherstellungstools, um eine Notfallwiederherstellung zu erreichen. Datensicherung und -wiederherstellung sind ein sehr wichtiger Teil des Datenbankverwaltungsprozesses. Das Sichern Ihrer Daten schützt Ihre Datenbank vor versehentlicher Beschädigung, Hardwarefehlern oder anderen katastrophalen Ereignissen. Als beliebtes relationales Datenbankverwaltungssystem bietet MySQL einige leistungsstarke Tools zur Datensicherung und -wiederherstellung. In diesem Artikel wird erläutert, wie Sie die Datensicherungs- und Wiederherstellungstools von MySQL verwenden, um eine Notfallwiederherstellung zu erreichen. MySQL-Datensicherungstool-mysql

In der MySQL-Datenbank entspricht jede InnoDB-Tabelle einer .ibd-Datei, in der die Daten und Indizes der Tabelle gespeichert sind. Daher ist für die Verwaltung und Wartung der MySQL-Datenbank auch die Verwaltung von ibd-Dateien besonders wichtig. In diesem Artikel wird erläutert, wie ibd-Dateien in einer MySQL-Datenbank effektiv verwaltet und verwaltet werden, und es werden spezifische Codebeispiele bereitgestellt. 1. Tabellenplatz prüfen und optimieren Zunächst können wir die Speicherplatznutzung der Tabelle mit der folgenden SQL-Anweisung überprüfen: SELECTTAB

MySQL ist eine beliebte relationale Datenbank, die in verschiedenen Bereichen weit verbreitet ist. Wie andere Anwendungen birgt MySQL jedoch Risiken wie Datenbeschädigung, Abstürze und böswillige Angriffe. Daher ist die Sicherung Ihrer Daten von entscheidender Bedeutung. Backups können Sicherheit und eine Form der Rückgängigmachungsfunktion für Daten bieten und so Instabilität und Risiken reduzieren oder sogar beseitigen. Die gebräuchlichsten Sicherungstypen sind Vollsicherung und inkrementelle Sicherung. Wenn Sie jedoch häufige Echtzeit-Backups benötigen, sind fortlaufende Backups ein besserer Ansatz. Ein fortlaufendes Backup ist akzeptabel

MySQL ist derzeit eines der am weitesten verbreiteten relationalen Datenbankverwaltungssysteme. Aufgrund seiner Effizienz und Zuverlässigkeit ist es für viele Unternehmen und Entwickler die erste Wahl. Aber aus verschiedenen Gründen müssen wir die MySQL-Datenbank sichern. Das Sichern einer MySQL-Datenbank ist keine leichte Aufgabe, denn wenn die Sicherung fehlschlägt, können wichtige Daten verloren gehen. Um die Integrität und Wiederherstellbarkeit der Daten sicherzustellen, müssen daher einige Maßnahmen ergriffen werden, um eine effiziente Sicherung und Wiederherstellung der MySQL-Datenbank zu erreichen. In diesem Artikel erfahren Sie, wie Sie dies erreichen

Analyse der Projekterfahrung bei der Sicherung und Wiederherstellung von MySQL-Datenbanken. Im täglichen Betrieb und bei der Wartung sind Sicherungs- und Wiederherstellungsarbeiten für MySQL-Datenbanken unverzichtbar. Angesichts der Datenskalierung im Multi-Terabyte- oder sogar Petabyte-Bereich werden jedoch der Zeit- und Ressourcenverbrauch, der für die Sicherung und Wiederherstellung erforderlich ist, oft zu Schlüsselfaktoren, die die Datenbankleistung einschränken. In diesem Artikel werden einige praktische Erfahrungen und Techniken anhand eines praktischen Beispiels zur Optimierung der Sicherungs- und Wiederherstellungsleistung für ein großes Internetunternehmen vorgestellt. 1. Auswahl von Backup-Lösungen Basierend auf unterschiedlichen Geschäftsanforderungen und Datenumfang sollte auch die Auswahl von Backup-Lösungen berücksichtigt werden.

MySQL ist derzeit eines der beliebtesten relationalen Datenbankverwaltungssysteme und wird häufig in Anwendungen auf Unternehmensebene eingesetzt. Unabhängig davon, ob Sie Entwickler oder Datenadministrator sind, müssen Sie die Grundkenntnisse der MySQL-Sicherung und -Wiederherstellung beherrschen. Backup und Wiederherstellung helfen Unternehmen nicht nur beim Schutz ihrer Daten, sondern ermöglichen es den Systemen auch, schnell auf ungünstige Situationen zu reagieren und den normalen Betriebszustand so weit wie möglich wiederherzustellen. In diesem Artikel werden die Schritte zur MySQL-Sicherung und -Wiederherstellung detailliert beschrieben und einige Best Practices bereitgestellt, die den Lesern dabei helfen sollen, ihre MySQL-Datenbanken noch besser zu schützen.
