C Realizes MySQL Command Line Backup and Restore

  • 2021-10-13 08:55:19
  • OfStack

MySQL database backup has many tools to use, these two days wrote a use of C # call MYSQL mysqldump command to complete MySQL database backup and recovery of small tools

First, let's talk about the use method of backing up MySQL database with mysqldump command under 1


mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

Directly compress and back up the MySQL database


mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

Back up a table (s) in the MySQL database


mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

Back up multiple MySQL databases at the same time


mysqldump -hhostname -uusername -ppassword  In fact, in fact, the databases databasename1 databasename2 databasename3 > multibackupfile.sql

Back up only the database structure


mysqldump  In fact, in fact, the no-data  In fact, in fact, the databases databasename1 databasename2 databasename3 > structurebackupfile.sql

Back up all databases on the server


mysqldump  In fact, in fact, the all-databases > allbackupfile.sql

Command to restore MySQL database


mysql -hhostname -uusername -ppassword databasename < backupfile.sql

Restoring a compressed MySQL database


gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

Move the database to a new server


mysqldump -uusername -ppassword databasename | mysql  In fact, in fact, the host=*.*.*.* -C databasename

Using C # to operate MYSQL backup and recovery is mainly realized by using C # to execute external programs

The following is part of C # source code


/// <summary>
///  Back up the database to a specific directory 
/// </summary>
/// <param name="binfolderpath">Bin Folder directory , Used to get mysqldump.exe Documents </param>
/// <param name="server"> Server </param>
/// <param name="user"> User name </param>
/// <param name="pass"> Password </param>
/// <param name="db"> The name of the database to back up </param>
/// <param name="backupfile"> What file to back up to </param>
/// <returns></returns>
public static bool BackupDB(string binfolderpath, string server, string character, string user, string pass, string db, string backupfile)
{
string command = string.Format("mysqldump.exe --quick --host=\"{0}\" --default-character-set=\"{1}\" --lock-tables --verbose --force --port=3306 --user=\"{2}\" --password=\"{3}\" \"{4}\" -r \"{5}\"",server, character.Trim().ToLower(), user, pass, db, backupfile);
  StartCmd(binfolderpath + @"\", command);
  if (File.Exists(backupfile))
  {
    return true;
  }
  else
  {
    return false;
  }
}
/// <summary>
///  Restore the specified database to the specified file 
/// </summary>
/// <param name="binfolderpath">Bin Folder directory , Used to get mysqldump.exe Documents </param>
/// <param name="server"> Server </param>
/// <param name="user"> User name </param>
/// <param name="pass"> Password </param>
/// <param name="db"> The name of the database to back up </param>
/// <param name="backupfile"> To be restored SQL Documents </param>
/// <returns></returns>
public static bool RestoreDB(string binfolderpath, string character, string server, string user, string pass, string db, string restorefile)
{
string command = string.Format("mysql.exe --host=\"{0}\" --default-character-set=\"{1}\" --port=3306 --user=\"{2}\" --password=\"{3}\" \"{4}\"<\"{5}\"", server, character.Trim().ToLower(), user, pass, db, restorefile);
   StartCmd(binfolderpath + @"\", command);
   return true;
}

A few lines of code can realize the backup and recovery function of database. C # Realize MySQL Command Line Backup and Recovery the main principle is to use C # Execute External Programs to achieve, there are other implementation methods, we can in-depth understanding of 1


Related articles: