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

Anwendung von Hadoop-Zählern und Datenbereinigung

Datenbereinigung (ETL) Vor dem Ausführen des MapR...

Sicherheitseinstellungen für Windows 2016 Server

Inhaltsverzeichnis Systemupdate-Konfiguration Änd...

Ein tiefes Verständnis der spitzen Klammern in Bash (für Anfänger)

Vorwort Bash verfügt über viele wichtige integrie...

Snake-Spiel mit nativem JS schreiben

In diesem Artikel wird der spezifische Code zum S...

Detaillierte Erklärung der Concat-bezogenen Funktionen in MySQL

1. concat()-Funktion Funktion: Mehrere Zeichenfol...

Tutorial-Diagramm zur kostenlosen 64-Bit-Installationsversion von MySQL 5.7.31

1. Herunterladen Download-Adresse: https://dev.my...

Beispiel für die Implementierung eines globalen Wasserzeichens in Vue

Inhaltsverzeichnis 1. Erstellen Sie eine Wasserze...

Implementierungsschritte zur Installation von RocketMQ im Docker

Inhaltsverzeichnis 1. Rufen Sie das Bild ab 2. Br...

Lösung für vergessenes Linux MySQL-Root-Passwort

Wenn Sie sich bei der Verwendung der MySQL-Datenb...

Analyse des Sperrmechanismus der MySQL-Datenbank

Bei gleichzeitigen Zugriffen kann es zu nicht wie...

Miniprogramm zur Implementierung der Sieve-Lotterie

In diesem Artikelbeispiel wird der spezifische Co...