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