這里是利用MySqlBackup,可以再nuget中下載。
無法解決視圖嵌視圖報錯的問題,只導表跟數據比較合適,如果有視圖嵌視圖,請參照Mysql備份遷移——Mysqldump(.NET調用Mysqldump.exe方式)——(解決視圖嵌視圖報錯)http://www.companysz.com/pbys/p/4142367.html
string constring = "server=192.168.0.1;port=3306;user=root; pwd=123456; database=test1;allow zero datetime = true;"; string file = "C://backup.sql"; System.IO.MemoryStream ms = new System.IO.MemoryStream();//導出到內存的方式 using (MySqlConnection conn = new MySqlConnection(constring)) { using (MySqlCommand cmd = new MySqlCommand()) { using (MySqlBackup mb = new MySqlBackup(cmd)) { cmd.Connection = conn; conn.Open(); //mb.ExportInfo.AddCreateDatabase = true;//是否需要創建數據庫 //mb.ExportInfo.ExportTableStructure = true;//導出表結構 //mb.ExportInfo.ExportRows = true;//導出數據 mb.ExportInfo.ExportViews = false;//視圖不導 mb.Command.CommandTimeout = 60; mb.ExportToFile(file);//導出到文件的方式 //mb.ExportToMemoryStream(ms);//導出到內存的方式 conn.Close(); } } } constring = "server=192.168.0.2;port=3306;user=root; pwd=123456; database=test1;allow zero datetime = true;"; using (MySqlConnection conn = new MySqlConnection(constring)) { using (MySqlCommand cmd = new MySqlCommand()) { using (MySqlBackup mb = new MySqlBackup(cmd)) { cmd.Connection = conn; conn.Open(); //mb.ImportInfo.TargetDatabase = "test2"; //mb.ImportInfo.DatabaseDefaultCharSet = "utf8"; mb.Command.CommandTimeout = 60; mb.ImportFromFile(file);//導出到文件的方式 //mb.ImportFromMemoryStream(ms);//導出到內存的方式 conn.Close(); } } }
更多參數及更新請參考http://www.codePRoject.com/Articles/256466/MySqlBackup-NET
新聞熱點
疑難解答