mysql备份页面设计_MySql数据库网页备份功能的设计

基本功能:

1:异步备份MySql数据库

2:如果备份成功,有耗时提示,并提供备份文件下载;如果备份失败,则提示错误信息。

设计页面截图:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

数据库备份的核心代码:

string strConn = "server=localhost;database=AgrBankBox3;uid=root;pwd=888888;charset=gb2312;";

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

DeleteOldFile();

try

{

lblMsg.Text = "";

if (!TestConnection())

{

return;

}

BackupData();

}

catch (Exception ex)

{

lblMsg.Text = ex.Message;

}

}

}

void mb_ProgressCompleted(object sender, MySqlBackupCompleteArg e)

{

if (e.CompletedType == MySqlBackupCompleteArg.CompleteType.Error)

{

Response.Write(e.ExceptionInfo.ToString());

}

else

{

Session["resultmsg"] = "耗时: " + e.TimeUsed.Hours + " 时 " + e.TimeUsed.Minutes + " 分 " + e.TimeUsed.Seconds + " 秒 " + e.TimeUsed.Milliseconds + " 毫秒.";

Response.Redirect("BackupComplete.aspx");

}

}

void DeleteOldFile()

{

string timeNow = DateTime.Now.AddMinutes(-15).ToString("yyyyMMddHHmmss");

long iTimeNow = Convert.ToInt64(timeNow);

string[] oldFiles = System.IO.Directory.GetFiles(Server.MapPath("~/dumpfiles"));

foreach (string s in oldFiles)

{

if (!s.EndsWith("sql"))

{

continue;

}

long fileTime = Convert.ToInt64(System.IO.Path.GetFileNameWithoutExtension(s));

if (fileTime < iTimeNow)

{

try

{

System.IO.File.Delete(s);

}

catch (Exception ex)

{

Response.Write(ex.Message);

}

}

}

}

bool TestConnection()

{

try

{

MySqlConnection conn = new MySqlConnection(strConn);

conn.Open();

conn.Close();

return true;

}

catch (Exception ex)

{

lblMsg.Text = ex.Message;

return false;

}

}

private void BackupData()

{

try

{

string[] tables = new string[] { };

DataTable dt = new DataTable();

MySqlBackup mb = new MySqlBackup(strConn);

dt.Columns.Add("columns");

tables = mb.DatabaseInfo.AllTableNames;

foreach (string s in tables)

{

dt.Rows.Add(s);

}

if (tables != null)

{

mb.TablesToBeExported = tables;

}

mb.AddCreateDatabase = true;

mb.EnableEncryption = false;

mb.ExportRows = true;

mb.ExportTableStructure = true;

mb.ResetAutoIncrement = false;

mb.ExportFunctions = true;

mb.ExportStoredProcedures = true;

mb.ExportEvents = true;

mb.ExportViews = true;

mb.ExportTriggers = true;

mb.ProgressCompleted += new MySqlBackup.progressComplete(mb_ProgressCompleted);

//mb.EncryptionKey = settings[10];

mb.Export(Session["dumpfile"].ToString());

}

catch (Exception ex)

{

Session["errmsg"] = ex.ToString();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值