`

C# mysql 备份还原表

 
阅读更多
protected void btnCommit_Click(object sender, EventArgs e)
    {
        if (GridViewDBBackupList.SelectedIndex == -1)
        {
            ScriptManager.RegisterClientScriptBlock(this.Page, GetType(), "", "alert(\"没有选择要恢复的备份!\");", true);
        }
        else
        {
            DataTable dt = common.getDataTable("select * from prodoc_jc_dbbackuprestore where id=" + GridViewDBBackupList.SelectedDataKey["id"].ToString());
            if (dt != null && dt.Rows.Count > 0)
            {
                string filePath = @"" + System.Configuration.ConfigurationManager.AppSettings["dbbackuppath"].ToString();
                string fileName = dt.Rows[0]["fileName"].ToString();
                if (File.Exists(filePath + "\\" + fileName))//d:\dbbackup\db.sql"))
                {
                    string str = common.CallExe(@"mysql -uroot -p" + System.Configuration.ConfigurationManager.AppSettings["mysqlrootpwd"].ToString() + " " + System.Configuration.ConfigurationManager.AppSettings["mysqldbname"].ToString() + "<" + filePath + "\\" + fileName);//d:\dbbackup\db.sql");
                    if (str.Equals("OK"))
                    {
                        ScriptManager.RegisterClientScriptBlock(this.Page, GetType(), "", "alert(\"还原成功!\");closeBackupList();", true);// common.popUpMessage(this.Page, );
                        string sql = string.Empty;
                        sql = "insert into prodoc_jc_dbbackuprestore(type,filePath,fileName,autoORmanu";
                        if (Session["userRealName"] != null)
                            sql += ",createPerson";
                        sql += ")";
                        sql += " values(1,'" + filePath + "','" + fileName + "',1";
                        if (Session["userRealName"] != null)
                            sql += ",'" + Session["userRealName"].ToString() + "'";
                        sql += ")";
                        common.executeNoQuery(sql);

                        bindData();
                        bindDataForBackupList();
                    }
                }
                else
                    //common.popUpMessage(this.Page, "没有找到备份文件!");
                    ScriptManager.RegisterClientScriptBlock(this.Page, GetType(), "", "alert(\"没有找到备份文件!\");", true);
            }
        }
    }
#region backup button
    protected void btnBackup_Click(object sender, EventArgs e)
    {
        if (Session.Count == 0)
        {
            common.execJavaScript(this.Page, "window.top.location.href='../login.aspx';");
            return;
        }
        string filePath = string.Empty;
        filePath = @"" + System.Configuration.ConfigurationManager.AppSettings["dbbackuppath"].ToString();
        if (!Directory.Exists(filePath))
            common.CallExe(@"mkdir " + filePath);
        string fileName = "dbbackup" + System.DateTime.Today.ToString("yyyyMMdd") + System.DateTime.Now.ToLongTimeString().Replace(":", "") + ".sql";
        string str = common.CallExe(@"mysqldump -uroot -p" + System.Configuration.ConfigurationManager.AppSettings["mysqlrootpwd"].ToString() + " " + System.Configuration.ConfigurationManager.AppSettings["mysqldbname"].ToString() + " --ignore-table=" + System.Configuration.ConfigurationManager.AppSettings["mysqldbname"].ToString() + ".prodoc_jc_dbbackuprestore>" + filePath + "\\" + fileName);
        if (str.Equals("OK"))
        {
            ScriptManager.RegisterClientScriptBlock(this.Page, GetType(), "", "alert(\"备份成功!\");closeBackupList();", true);
            string sql = string.Empty;
            sql = "insert into prodoc_jc_dbbackuprestore(filePath,fileName,autoORmanu";
            if (Session["userRealName"] != null)
                sql += ",createPerson";
            sql += ")";
            sql += " values('" + filePath + "','" + fileName + "',1";
            if (Session["userRealName"] != null)
                sql += ",'" + Session["userRealName"] + "'";
            sql += ")";
            common.executeNoQuery(sql);
            bindData();
        }
    }
    #endregion

    #region 功能:执行dos命令;参数:一个,要执行的dos命令;返回值:成功,OK;失败,错误信息
    public string CallExe(string argm)
    {
        Process p = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = "cmd.exe"; //设定需要执行的命令
        startInfo.Arguments = "/C " + argm; //  设定参数,其中的“/C”表示执行完命令后马上退出
        startInfo.UseShellExecute = false; //不使用系统外壳程序启动
        startInfo.RedirectStandardInput = false; //不重定向输入
        startInfo.RedirectStandardOutput = true; //重定向输出
        startInfo.CreateNoWindow = true; //不创建窗口
        p.StartInfo = startInfo;
        try
        {
            if (p.Start()) //开始进程
            {
                //if (milliseconds == 0)
                p.WaitForExit(); //这里无限等待进程结束
                //else
                //p.WaitForExit(milliseconds); //这里等待进程结束,等待时间为指定的毫秒                
            }
        }
        catch (Exception ex)
        {
            return ex.ToString();
        }
        finally
        {
            if (p != null)
                p.Close();
        }
        return "OK";
    }
    #endregion
mysqldump -uxxx -pxxx --ignore-table=database.table1 --ignore-table=database.table2 > backup.sql
 mysqldump -uxxx -pxxx table1 table2 … > backup.sql
分享到:
评论

相关推荐

    C#实现备份、还原MySql数据库

    本篇将详细讲解如何使用C#语言来实现MySQL数据库的备份与还原功能,并探讨如何通过线程设置定时自动备份。 首先,我们需要了解C#中与MySQL交互的基础知识。C#可以借助MySQL的数据提供者(如MySql.Data.MySqlClient...

    C# MySQL数据库备份还原

    C# MySQL数据库备份还原 C# MySQL数据库批量备份还原工具是使用C#语言开发的一个数据库备份还原工具,主要用于对MySQL数据库进行批量备份和还原操作。该工具使用了Process类来操作cmd.exe,调用mysqldump.exe来执行...

    C#备份还原mysql数据库

    本篇文章将详细讲解如何使用C#来实现MySQL数据库的备份和还原功能。 首先,要进行MySQL数据库的备份,我们需要利用MySQL提供的命令行工具或者API接口。在C#中,我们可以使用`MySqlCommand`类执行SQL语句来完成这个...

    C#实现MySQL数据库的备份、还原和初始化

    本文将详细介绍如何使用C#来实现MySQL数据库的初始化、备份和还原功能。 首先,数据库的初始化通常指的是创建一个新的数据库。在C#中,你可以通过执行SQL语句来完成这一过程。在给出的代码示例中,`GetExecute`方法...

    c#备份还原MySql数据库

    本篇文章将深入探讨如何使用C#来实现MySQL数据库的备份与还原功能。 首先,要进行MySQL数据库的备份,我们需要使用MySQL的命令行工具或通过API调用相关的SQL语句。在C#中,我们可以使用`MySqlCommand`类来执行这些...

    C# 备份还原mysql数据库示例工具

    总的来说,"C# 备份还原mysql数据库示例工具"结合了C# Winform的图形化能力与MySQL数据库的强大功能,提供了一个实用的解决方案,对于学习数据库管理和C#编程的初学者来说,这是一个很好的实践项目。通过深入理解并...

    C#编写的MYSQL数据库备份恢复工具(源代码)

    本篇将详细介绍由C#编写的MYSQL数据库备份恢复工具,以及其中涉及的关键技术和实现方式。 首先,C#是一种面向对象的编程语言,由微软公司推出,它具有丰富的类库和强大的.NET框架支持,适用于开发Windows桌面应用、...

    C# 写的MySql数据库备份还原小工具(有代码)

    标题中的"C# 写的MySql数据库备份还原小工具"是指一个使用C#编程语言开发的应用程序,专门用于对MySQL数据库进行备份和恢复操作。这个工具对于数据库管理员或者开发者来说非常实用,因为它允许他们轻松地保护和恢复...

    C#实现MySQL命令行备份和恢复

    在使用C#进行MySQL备份和恢复时,主要是通过C#执行外部程序的方式来调用mysqldump命令。下面是一个C#实现备份MySQL数据库的示例方法: ```csharp public static bool BackupDB(string binfolderpath, string server...

    c#数据备份还原模块.rar

    本项目“c#数据备份还原模块”是利用C#实现的数据管理功能,它包含了一个关键的组件,即数据的备份与恢复,这对于任何需要处理大量数据的应用程序来说都是至关重要的。下面我们将详细讨论这个模块涉及到的知识点。 ...

    C#数据库备份与还原

    "C#数据库备份与还原"这个主题聚焦于如何利用C#编程语言来实现这两个功能。C#是一种广泛使用的面向对象的编程语言,尤其适合开发Windows应用程序,包括与数据库交互的应用。 1. **C#数据库连接**: 在C#中,我们...

    简陋C#备份还原数据库软件

    标题中的“简陋C#备份还原数据库软件”指的是一个用C#编程语言开发的数据库管理工具,主要用于数据库的备份和恢复操作。C#是微软公司推出的一种面向对象的编程语言,广泛应用于Windows平台上的应用程序开发,包括...

    C#+写的MySql数据库备份还原小工具(有代码)

    C#+写的MySql数据库备份还原小工具(有代码) 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等

    MySqlBackup.Net:在C#VB.NETASP.NET中备份和还原MySQL数据库的工具

    MySqlBackup.Net 在C#/ VB.NET / ASP.NET中备份和还原MySQL数据库的工具。如何将此库添加到您的项目中阅读一键备份所有数据库一对一导出所有数据库以分离SQL转储文件。 这是一个使用MySqlBackup.NET的子项目扩展。 ...

    MySQL 主备机备份还原同步工具

    本项目是一个基于 C# 开发的 MySQL 主备机数据库管理工具,旨在简化主备数据库的备份、还原与同步过程。通过直观的用户界面,用户可以轻松配置主数据库和备份数据库的信息,实现快速、稳定的数据管理操作。 功能...

    C# 文件备份系统,数据库文件备份

    7. **验证备份**:为了确保备份的完整性,可以编写验证程序,定期尝试恢复备份,确认数据可以正确还原。 8. **定时任务**:设置定时任务(例如使用Windows的任务计划程序或Cron作业),自动执行备份,确保数据的...

    学生成绩管理系统(C#+mysql)

    7. 数据备份与恢复:系统还应提供数据备份和恢复机制,定期备份数据库以防止数据丢失,同时提供恢复功能以便在意外情况下还原数据。 8. 性能优化:考虑到大量成绩数据的处理,系统应优化查询性能,如使用索引加速...

    mysql数据库备份工具 绝对不会出现乱码

    MySQL数据库在日常管理和维护中,备份是至关重要的环节,它能保护数据免受意外丢失,确保业务连续性。本文将详细介绍一款特别针对MySQL数据库设计的备份工具,该工具以其独特的特性,如避免乱码问题、支持加密备份...

    数据库 备份还原 脚本执行工具 源代码

    综上所述,"数据库备份还原脚本执行工具源代码"是用C# 2012开发的一个实用工具,它帮助数据库管理员执行关键的数据库管理任务,如备份和恢复,同时提供脚本执行功能,提高效率。源代码的开放性使得用户可以根据自身...

    数据库备份还原源代码

    本文将深入探讨“数据库备份还原”的概念、重要性、常见方法以及源代码实现。 首先,数据库备份是保护数据免受意外丢失或损坏的关键步骤。这可能包括硬件故障、软件错误、人为误操作、病毒攻击或者自然灾害等不可...

Global site tag (gtag.js) - Google Analytics