一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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#執行外部程序來實現的,其它還有其它實現方法,大家可以深入了解一下

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91国内精品久久久久影院优播 | 亚洲乱码一二三四区国产 | 外国黄色软件 | 高清不卡日本v在线二区 | 福利片成人午夜在线 | 日本午夜vr影院新入口 | 午夜看片a福利在线观看 | 五月天在线视频观看 | 四虎免费入口 | 菠萝视频污 | 亚洲 欧美 偷自乱 图片 | 天天操天天爽天天射 | 国产在线伊人 | 日本公乱妇视频 | 欧美大片一区 | 日本一区二区不卡久久入口 | 操尼姑| 欧美1| 99自拍网| 男女精品视频 | 欧美又大又粗又爽视频 | 国产成人精品免费午夜 | 92国产福利久久青青草原 | 欧美综合在线 | 日韩免费在线视频观看 | 午夜亚洲国产 | 国产青草视频在线观看免费影院 | 青青久久久 | 女教师被女同学调教成脚奴 | 午夜宅男宅女看在线观看 | 日韩精品欧美国产精品亚 | 波多野结中文字幕在线69视频 | 亚洲精品一 | 美女脱了内裤打开腿让人桶网站o | 欧美一区二区三区久久久 | 亚洲AV精品无码喷水直播间 | 国产精品探花一区在线观看 | 四虎影视国产精品婷婷 | yjsp妖精视频在线观看免费 | 12345国产精品高清在线 | 日本激情网站 |