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

Foreman Ubuntu16 Schnellinstallation

Kurzanleitung Das Foreman-Installationsprogramm i...

JavaScript zum Erzielen eines einfachen Lupeneffekts

In einem großen Kästchen befindet sich ein Bild. ...

20 Wegweiser auf dem Weg zum exzellenten UI (User Interface)-Designer

Einleitung: Der Interface-Designer Joshua Porter h...

Eine einfache Methode zum Zusammenführen und Entfernen doppelter MySQL-Tabellen

Szenario: Die gecrawlten Daten erzeugen eine Date...

Javascript-Grundlagen zu integrierten Objekten

Inhaltsverzeichnis 1. Einführung in integrierte O...

Detaillierte Erklärung zum Anzeigen und Einstellen des SQL-Modus in MySQL

Anzeigen und Einstellen des SQL-Modus in MySQL My...

Flex-Grow-, Flex-Shrink-, Flex-Basis- und Neun-Raster-Layout verstehen

1. Flex-Grow-, Flex-Shrink- und Flex-Basis-Eigens...

WEB Standard-Webseitenstruktur

Ob es sich nun um das Hintergrundbild oder die Tex...

So installieren Sie Nginx unter Win10

Da das Unternehmen mich bat, einen WebService-Ser...

Basiswissen: Was bedeutet http vor einer Website-Adresse?

Was ist HTTP? Wenn wir eine Website durchsuchen m...