激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - C#實現MySQL命令行備份和恢復

C#實現MySQL命令行備份和恢復

2020-08-27 17:10wdc Mysql

MySQL數據庫的備份有很多工具可以使用,今天介紹一下使用C#調用MYSQL的mysqldump命令完成MySQL數據庫的備份與恢復

MySQL數據庫的備份有很多工具可以使用,這兩天寫了一個使用C#調用MYSQL的mysqldump命令完成MySQL數據庫的備份與恢復的小工具

先來說一下mysqldump命令備份MySQL數據庫的使用方法

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

直接將MySQL數據庫壓縮備份

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

備份MySQL數據庫某個(些)表

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

同時備份多個MySQL數據庫

?
1
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

僅僅備份數據庫結構

?
1
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

備份服務器上所有數據庫

?
1
mysqldump –all-databases > allbackupfile.sql

還原MySQL數據庫的命令

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

還原壓縮的MySQL數據庫

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

將數據庫轉移到新服務器

?
1
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

使用C#操作MYSQL備份與恢復,主要是利用C#執行外部程序來實現

下面是部分C#源碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/// <summary>
/// 備份數據庫到特定目錄
/// </summary>
/// <param name="binfolderpath">Bin文件夾目錄,用于得到mysqldump.exe文件</param>
/// <param name="server">服務器</param>
/// <param name="user">用戶名</param>
/// <param name="pass">密碼</param>
/// <param name="db">要備份的數據庫名</param>
/// <param name="backupfile">備份到什么文件</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>
/// 恢復指定數據庫到指定文件
/// </summary>
/// <param name="binfolderpath">Bin文件夾目錄,用于得到mysqldump.exe文件</param>
/// <param name="server">服務器</param>
/// <param name="user">用戶名</param>
/// <param name="pass">密碼</param>
/// <param name="db">要備份的數據庫名</param>
/// <param name="backupfile">要恢復的SQL文件</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;
}

簡單幾行代碼就可以實現數據庫的備份恢復功能。C#實現MySQL命令行備份和恢復的主要原理是利用C#執行外部程序來實現的,其它還有其它實現方法,大家可以深入了解一下

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人一级视频在线观看 | 一级做受毛片免费大片 | 性插视频 | 妇子乱av一区二区三区 | 精品国产专区 | 久久久久9999 | 日韩黄站 | 欧美精品黄色 | 国产拍拍拍三级费视频在线观看 | 免费在线观看亚洲 | 一区二区三区日 | 日本高清在线免费 | 久久久久久久一区二区三区 | 亚洲精品一区国产精品丝瓜 | 国产精品视频一区二区三区四区国 | 性大片免费看 | 免费观看视频在线 | av在线播放电影 | 黄在线| 国产乱淫av片免费网站 | 欧美成在线视频 | lutube成人福利在线观看污 | 欧美精品一区二区蜜臀亚洲 | 性感美女一级毛片 | 一级做a爰性色毛片免费1 | 狠狠干伊人网 | 亚洲成人免费电影 | 最新日韩在线观看视频 | 伊人av影院 | 美女久久久久 | 一级黄色av电影 | 国产女做a爱免费视频 | 少妇色诱麻豆色哟哟 | 高清国产在线 | 国产激情网 | qyl在线视频精品免费观看 | 国产永久免费观看 | xxxxxx性| h视频免费观看 | 亚洲最大久久 | 成人毛片免费视频 |