Vorwort Backup ist die Grundlage der Notfallwiederherstellung. Es bezieht sich auf den Vorgang des Kopierens aller oder eines Teils des Datensatzes von der Festplatte oder dem Array des Anwendungshosts auf andere Speichermedien, um Datenverlust aufgrund von Systembetriebsfehlern oder Systemausfällen zu verhindern. Für manche Websites und Systeme ist die Datenbank alles. Daher ist es von entscheidender Bedeutung, die Datenbank zu sichern! Was ist Backup? Dieses Beispiel erstellt ein Verzeichnis im Verzeichnis /mnt. Sie können es je nach Bedarf auch in anderen Verzeichnissen platzieren: CD/MNT mkdir dbback Passwort /mnt/dbback Erstellen eines Shell-Skripts Der Skriptname kann nach eigenen Vorgaben angepasst werden: vim bcmysql.sh Rufen Sie den Editor auf und geben Sie Folgendes ein: #!/bin/bash mysqldump -uusername -ppassword demo > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql Wenn Sie die Datei komprimieren müssen, geben Sie den folgenden Befehl ein: #!/bin/bash mysqldump -uusername -ppassword demo | gzip > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql.gz Bei bestimmten Vorgängen müssen Sie Benutzername, Passwort und Demo durch den entsprechenden Datenbankbenutzernamen, das entsprechende Passwort bzw. den Datenbanknamen ersetzen. Ausführbare Berechtigungen hinzufügen chmod u+x bcmysql.sh Nach dem Hinzufügen der Ausführungsberechtigung kann beim Ausführen dieses Skripts die folgende Ausnahme auftreten:
Dieses Problem dürfte in MySQL Version 5.6+ aufgetreten sein und könnte auf einen Schutzmechanismus zurückzuführen sein, der zur Gewährleistung der Sicherheit der Datenbank eingeführt wurde. Die in diesem Beispiel verwendete MySQL-Version ist 5.7.22. Obwohl Warnmeldungen angezeigt werden, können die Daten erfolgreich gesichert werden. Ändern Sie die MySQL-Konfigurationsdatei Als Reaktion auf das oben genannte Problem können einige Versionen möglicherweise nicht erfolgreich gesichert werden. Darüber hinaus wird nicht empfohlen, das Datenbankkennwort im Skript zu konfigurieren. Sie können die MySQL-Konfigurationsdatei direkt ändern. Im Allgemeinen befindet sich die MySQL-Konfigurationsdatei in /etc/my.cnf. vim /etc/meine.cnf Fügen Sie in dieser Datei die folgende Konfiguration zu mysqldump hinzu: [mysqldump] Benutzer=Ihr_Backup-Benutzername password=Ihr_Backup-Passwort Ersetzen Sie den entsprechenden Benutzernamen und das entsprechende Kennwort und ändern Sie den Befehl im Skript bcmysql.sh, um die Parameter Benutzername und Kennwort zu löschen. Sie können die Sicherungsergebnisse anzeigen, indem Sie das Skript direkt ausführen, ohne MySQL neu zu starten. demo_20181114_193425.sql Frage 1 Wenn Sie vim verwenden, um den Inhalt der exportierten SQL-Datei anzuzeigen, werden Sie feststellen, dass die chinesischen Schriftzeichen verstümmelt sind. Dieses Problem wird durch zwei Situationen verursacht. Die erste ist, dass der Zeichensatz der Datenbank selbst latain1 ist. In diesem Fall müssen Sie den Zeichensatz angeben und den Ausführungsparametern die folgenden Parameter hinzufügen: --default-character-set=gbk Wenn es UTF-8 ist, ändern Sie GBK natürlich in UTF-8. Der Befehl zum Anzeigen des Datenbankzeichensatzes lautet wie folgt: Variablen wie „%char%“ anzeigen; -- Abfrageergebnis character_set_client utf8 Zeichensatzverbindung utf8 Zeichensatzdatenbank utf8mb4 character_set_filesystem binär Zeichensatzergebnisse utf8 Zeichensatzserver UTF-8 Zeichensatzsystem UTF8 Zeichensatzverzeichnis /usr/local/mysql/share/charsets/ Wenn der Zeichensatz korrekt geändert wurde, aber weiterhin unleserliche Zeichen erscheinen, versuchen Sie, die folgenden Parameter hinzuzufügen: --hex-blob Analysieren Sie die Tabellenstruktur sorgfältig. Die Tabellenstruktur kann Blob-Typen enthalten. Die Bedeutung dieses Parameters besteht darin, Daten vom Typ BINARY, VARBINARY und BLOB im Hexadezimalformat zu exportieren. Der geänderte Befehl lautet wie folgt: mysqldump --default-character-set=utf8 --hex-blob demo > /mnt/dbback/demo_$(date +%Y%m%d_%H%M%S).sql Hinzufügen einer geplanten Aufgabe Crontab erkennen oder installieren Wenn der Crontab-Befehl bei seiner Ausführung meldet, dass der Befehl nicht gefunden wurde, bedeutet dies, dass er nicht installiert ist. # crontab -bash: crontab: Befehl nicht gefunden Wenn es nicht installiert ist, können Sie es über den Yum-Befehl installieren: # yum -y installiere vixie-cron Obwohl crontab die Befehle -h und –help nicht unterstützt, können Sie mit diesem Befehl überprüfen, ob die Installation erfolgreich war: [root@iZ2zeck5vZ ~]# crontab -hilfe crontab: ungültige Option --h crontab: Nutzungsfehler: nicht erkannte Option Verwendung: crontab [Optionen] Datei crontab [Optionen] crontab -n [Hostname] Optionen: -u <Benutzer> Benutzer definieren -e Crontab des Benutzers bearbeiten -l Listet die Crontab des Benutzers auf -r löscht die Crontab des Benutzers -i Eingabeaufforderung vor dem Löschen -n <host> Host im Cluster festlegen, um die Crontabs der Benutzer auszuführen -c Host im Cluster abrufen, um Crontabs der Benutzer auszuführen -s Selinux-Kontext -x <Maske> aktiviert das Debuggen Der Standardvorgang ist Ersetzen gemäß 1003.2 Hinzufügen einer geplanten Aufgabe Durch die obigen Befehlsparameter können wir den Befehl zum Ändern von Crontab sehen und den Befehl ausführen: crontab -e Rufen Sie die Seite mit den Crontab-Bearbeitungsvorgängen auf und bearbeiten Sie deren Inhalt genau wie vi und vim. Fügen Sie den folgenden Befehl hinzu: */1 * * * * /mnt/dbback/bcmysql.sh Diese Befehlszeile wird verwendet, um bcmysql.sh jede Minute auszuführen. Warten Sie eine Minute und überprüfen Sie dann mit dem Befehl ls, ob die Sicherungsdatei erstellt wurde. Es wurde festgestellt, dass die Datei normal generiert werden kann. Natürlich müssen wir nicht jede Minute ein Backup erstellen, daher ändern Sie den Befehl wie folgt: 0 1 * * * /mnt/dbback/bcmysql.sh Jeden Tag um 1:00 Uhr wird ein Sicherungsvorgang durchgeführt. Protokollansicht Wenn die Ausführung fehlschlägt, können Sie das Aufgabenprotokoll anzeigen: # tail -f /var/log/cron Zusammenfassung Bisher wurde eine einfache Version der MySQL-Datensicherungsfunktion für geplante Aufgaben unter Linux implementiert. Selbstverständlich können Sie auch Verzeichnisverwaltung, Verlaufslöschung und weitere Erweiterungen auf Basis dieser Version durchführen. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
>>: js zum Aufrufen der Netzwerkkamera und Behandeln häufiger Fehler
Das Betrachten einer Website ist eigentlich wie di...
Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...
Code kopieren Der Code lautet wie folgt: <ifra...
Ursprung: Vor einigen Tagen hat ein Tester eine A...
Inhaltsverzeichnis 1. Verwenden Sie in der v-for-...
Sie erinnern sich vielleicht, dass wir in den ver...
Inhaltsverzeichnis Vorwort zx-Bibliothek $`Befehl...
Installationsschritte 1. Redis installieren Laden...
MySQL Master-Slave-Konfiguration 1. Vorbereitung ...
1. Natürliches Layout <br />Das Layout ohne ...
1. MySQL-Anmeldeeinstellungen ändern: # vim /etc/...
In diesem Blog führe ich Sie in einfachen Schritt...
yum oder rpm? Die Yum-Installationsmethode ist se...
Inhaltsverzeichnis Vorwort Anruf Verwendung errei...
1. Zum Vergleich der Datumsgröße muss das an XML ...