C# implementiert MySQL-Befehlszeilensicherung und -wiederherstellung

C# implementiert MySQL-Befehlszeilensicherung und -wiederherstellung

Es gibt viele Tools zum Sichern von MySQL-Datenbanken. In den letzten zwei Tagen habe ich ein kleines Tool geschrieben, das C# verwendet, um den MySQL-Befehl mysqldump aufzurufen und so die Sicherung und Wiederherstellung von MySQL-Datenbanken abzuschließen.

Lassen Sie uns zunächst darüber sprechen, wie Sie mit dem Befehl mysqldump eine Sicherung der MySQL-Datenbank erstellen.

mysqldump -hhostname -uusername -ppassword Datenbankname > Sicherungsdatei.sql

Komprimieren und sichern Sie die MySQL-Datenbank direkt

mysqldump -hhostname -uusername -ppassword Datenbankname | gzip > Backupfile.sql.gz

Sichern Sie eine oder mehrere Tabellen in der MySQL-Datenbank

mysqldump -hhostname -uusername -ppassword Datenbankname spezifische_Tabelle1 spezifische_Tabelle2 > Sicherungsdatei.sql

Sichern Sie mehrere MySQL-Datenbanken gleichzeitig

mysqldump -hhostname -uusername -ppassword –databases Datenbankname1 Datenbankname2 Datenbankname3 > multibackupfile.sql

Sichern Sie nur die Datenbankstruktur

mysqldump –no-data –databases Datenbankname1 Datenbankname2 Datenbankname3 > StrukturBackupdatei.sql

Sichern Sie alle Datenbanken auf dem Server

mysqldump –alle-datenbanken > alleBackupdateien.sql

Befehl zum Wiederherstellen der MySQL-Datenbank

mysql -hhostname -uusername -ppassword Datenbankname < Sicherungsdatei.sql

Wiederherstellen einer komprimierten MySQL-Datenbank

gunzip < Backupdatei.sql.gz | mysql -uBenutzername -pPasswort Datenbankname

Übertragen der Datenbank auf den neuen Server

mysqldump -uusername -ppassword Datenbankname | mysql –host=*.*.*.* -C Datenbankname

Die Verwendung von C# zum Ausführen von MySQL-Backups und -Wiederherstellungen erfolgt hauptsächlich durch die Verwendung von C# zum Ausführen externer Programme

Unten sehen Sie einige C#-Quellcodes

/// <Zusammenfassung>
/// Sichern Sie die Datenbank in einem bestimmten Verzeichnis/// </summary>
/// <param name="binfolderpath">Bin-Ordnerverzeichnis, das zum Abrufen der Datei mysqldump.exe verwendet wird</param>
/// <param name="server">Server</param>
/// <param name="user">Benutzername</param>
/// <param name="pass">Passwort</param>
/// <param name="db">Name der zu sichernden Datenbank</param>
/// <param name="backupfile">In welche Datei soll das Backup erfolgen?</param>
/// <Rückgabe></Rückgabe>
öffentliches statisches bool BackupDB (Zeichenfolge Binfolderpfad, Zeichenfolge Server, Zeichenfolge Zeichen, Zeichenfolge Benutzer, Zeichenfolge Pass, Zeichenfolge DB, Zeichenfolge Backupdatei)
{
Zeichenfolgenbefehl = Zeichenfolge.Format("mysqldump.exe --quick --host=\"{0}\" --default-character-set=\"{1}\" --lock-tables --verbose --force --port=3306 --user=\"{2}\" --password=\"{3}\" \"{4}\" -r \"{5}\"",Server, Charakter.Trim().ToLower(), Benutzer, Passwort, Datenbank, Sicherungsdatei);
  StartCmd(binfolderpath + @"\", Befehl);
  if (Datei.Existiert(Sicherungsdatei))
  {
    gibt true zurück;
  }
  anders
  {
    gibt false zurück;
  }
}
/// <Zusammenfassung>
/// Die angegebene Datenbank in der angegebenen Datei wiederherstellen/// </summary>
/// <param name="binfolderpath">Bin-Ordnerverzeichnis, das zum Abrufen der Datei mysqldump.exe verwendet wird</param>
/// <param name="server">Server</param>
/// <param name="user">Benutzername</param>
/// <param name="pass">Passwort</param>
/// <param name="db">Name der zu sichernden Datenbank</param>
/// <param name="backupfile">Wiederherzustellende SQL-Datei</param>
/// <Rückgabe></Rückgabe>
öffentliches statisches bool RestoreDB (Zeichenfolge Binfolderpath, Zeichenfolge Zeichen, Zeichenfolge Server, Zeichenfolge Benutzer, Zeichenfolge Pass, Zeichenfolge DB, Zeichenfolge Restorefile)
{
Zeichenfolgenbefehl = Zeichenfolge.Format("mysql.exe --host=\"{0}\" --default-character-set=\"{1}\" --port=3306 --user=\"{2}\" --password=\"{3}\" \"{4}\"<\"{5}\"", Server, Charakter.Trim().ToLower(), Benutzer, Passwort, Datenbank, Datei wiederherstellen);
   StartCmd(binfolderpath + @"\", Befehl);
   gibt true zurück;
}

Die Datenbank-Backup- und Wiederherstellungsfunktion kann mit nur wenigen Codezeilen implementiert werden. Das Hauptprinzip der Implementierung von MySQL-Befehlszeilensicherung und -wiederherstellung in C# besteht darin, C# zum Ausführen externer Programme zu verwenden. Es gibt auch andere Implementierungsmethoden. Sie können mehr darüber erfahren.

Das könnte Sie auch interessieren:
  • So stellen Sie in C# eine Verbindung zur MySQL-Datenbank her
  • Ausführliches Tutorial zur C#-Verbindung mit MySQL
  • Zwei einfache Codebeispiele zum Verbinden von C# mit MySQL
  • So stellen Sie in C# eine Verbindung zu MySQL her [Basierend auf vs2010]
  • So lesen und schreiben Sie mit C# effizient große Datenmengen in MySQL
  • Detaillierte Erklärung zum effizienten Lesen und Schreiben großer Datenmengen in MySQL mit C#
  • C# Batch-Einfügen großer Datenmengen in mehrere Datenbanken (SqlServer, Oracle, SQLite und MySql)
  • So rufen Sie eine gespeicherte MySQL-Prozedur in C# auf
  • Vollständiges Beispiel für eine C#-Verbindung zur MySQL-Datenbank
  • C# implementiert eine MysqlHelper-Instanz zum Betrieb der MySql-Datenschichtklasse
  • Zwei Möglichkeiten zum Hinzufügen von Daten zu MySQL

<<:  Detaillierte Erläuterung verschiedener Kommunikationswege zwischen Linux-Benutzerstatus und Kernelstatus

>>:  So verwenden Sie das Modul-FS-Dateisystem in Nodejs

Artikel empfehlen

MySQL-Abfragedaten stündlich, geben Sie 0 ein, wenn keine Daten vorhanden sind

Nachfragehintergrund Als statistische Schnittstel...

Docker verwendet Nextcloud, um eine private Baidu-Cloud-Festplatte zu erstellen

Plötzlich musste ich einen privaten Dienst für di...

So installieren Sie Composer unter Linux

1. Laden Sie das Installationsskript - composer-s...

HTML (CSS-Stilspezifikation) muss lauten

CSS-Stilspezifikationen 1. Klassenauswahl 2. Tag-...

React+axios implementiert die Suchbenutzerfunktion von GitHub (Beispielcode)

laden Anforderung erfolgreich Anforderung fehlges...

Erklärung zur Verwendung von JavaScript ECharts

Ich habe ECharts schon einmal bei einem Projekt v...

Reacts Übergang von Klassen zu Hooks

Inhaltsverzeichnis ReagierenHooks Vorwort WarumHo...

Tutorials der MySQL-Reihe für Anfänger

Inhaltsverzeichnis 1. Grundkonzepte und Grundbefe...

Eine kurze Analyse der Verwendung des HTML-Webpack-Plugins

Wenn Sie zum Starten der Seite das Plugin „html-w...

Der Prozess des Erstellens und Konfigurierens der Git-Umgebung in Docker

Konfigurieren Sie die Git-Umgebung in Docker Bei ...

So zeigen Sie Linux-SSH-Dienstinformationen und den Ausführungsstatus an

Es gibt viele Artikel zur SSH-Serverkonfiguration...