1 protected void Page_Load(object sender, EventArgs e) 2 { 3 UILogic.ClearCache(); 4 VPUserInfo userinfo = UILogic.getSession() as VPUserInfo; 5 if (userinfo == null) 6 { 7 //Response.Write("<mce:script type="text/javascript"><!-- 8 top.location.href='~/../login.aspx' 9 // --></mce:script>"); 10 } 11 else 12 { 13 //if (!Page.IsPostBack) 14 //{ 15 System.IO.Directory.CreateDirectory("C://Program Files//MySQL//MySQL Server 5.0//data//vpdata");//在服务器mysql中创建vpdata数据库 16 //} 17 } 18 } 19 20 protected void Backup_Click(object sender, ImageClickEventArgs e) 21 { 22 try 23 { 24 //string filename = DateTime.Now.ToString().Replace("-", "").Replace(":", "").Replace(" ", ""); 25 26 string filePath = "D://web//App_Data"; 27 string fileName = filePath + "//vpdata.sql";//备份的文件名称和路径 28 //判断目录是否存在 29 if (!System.IO.File.Exists(fileName)) 30 { 31 System.IO.Directory.CreateDirectory(filePath); 32 } 33 34 //构建执行的命令 35 String command = string.Format("mysqldump --quick --host=localhost --default-character-set=latin1 --lock-all-tables --port=3306 --user=root --password=123456 --databases vpdata -R >D://web//App_Data//{0}.sql", "vpdata"); 36 37 //获取mysqldump.exe所在路径 38 String appDirecroty = @"C:/Program Files/MySQL/MySQL Server 5.0/bin/"; 39 40 StartCmd(appDirecroty, command); 41 ScriptManager.RegisterClientScriptBlock(Backup, GetType(), "yes", "alert('数据库已成功备份到D://web//App_Data//Vpdata文件中')", true); 42 } 43 catch (Exception ex) 44 { 45 ScriptManager.RegisterClientScriptBlock(Backup, GetType(), "no", "alert('数据库备份失败!')", true); 46 } 47 } 48 protected void Restore_Click(object sender, ImageClickEventArgs e) 49 { 50 try 51 { 52 53 54 //构建执行的命令 55 String command = string.Format("mysql --host=192.168.1.10 --default-character-set=latin1 --port=3306 --user=root --password=123456 vpdata <D://web//App_Data//{0}.sql", "vpdata"); 56 57 //获取mysql.exe所在路径 58 String appDirecroty = @"C:/Program Files/MySQL/MySQL Server 5.0/bin/"; 59 60 StartCmd(appDirecroty, command); 61 ScriptManager.RegisterClientScriptBlock(Restore, GetType(), "yes", "alert('服务器数据库还原成功!')", true); 62 } 63 catch (Exception ex) 64 { 65 ScriptManager.RegisterClientScriptBlock(Restore, GetType(), "no", "alert('数据库还原失败!')", true); 66 } 67 } 68 69 /// <summary> 70 /// 执行Cmd命令 71 /// </summary> 72 /// <param name="workingDirectory">要启动的进程的目录</param> 73 /// <param name="command">要执行的命令</param> 74 public static void StartCmd(String workingDirectory, String command) 75 { 76 Process p = new Process(); 77 p.StartInfo.FileName = "cmd.exe"; 78 p.StartInfo.WorkingDirectory = workingDirectory; 79 p.StartInfo.UseShellExecute = false; 80 p.StartInfo.RedirectStandardInput = true; 81 p.StartInfo.RedirectStandardOutput = true; 82 p.StartInfo.RedirectStandardError = true; 83 p.StartInfo.CreateNoWindow = true; 84 p.Start(); 85 p.StandardInput.WriteLine(command); 86 p.StandardInput.WriteLine("exit"); 87 }