C#中MySQL数据库的备份 还原 初始化

// 执行创建数据库操作
this.GetExecute(G_Con, "create database if not exists NEWDB");

this.sqlAddress = " -h " + IP + " -u" + User + " -p" + Password + " NEWDB ";
// 数据库的备份
private void btn_Dump_Click(object sender, EventArgs e)
{
    using (SaveFileDialog sfd = new SaveFileDialog())
    {
        sfd.Filter = "数据库文件|*.sql";
        sfd.FilterIndex = 0;
        sfd.RestoreDirectory = true;
        sfd.FileName = "BackUp" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql";

        if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            string filePath = sfd.FileName;
            string cmd = "mysqldump " + sqlAddress + " > \"" + filePath + "\"";
            string result = RunCmd(cmd);
            if (result.Trim() == "")
            {
                MessageBox.Show("数据库备份成功!", "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(result, "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

        }
    }
}
//数据库的还原
// 还原数据库
private void btn_Import_Click(object sender, EventArgs e)
{
    if (this.tb_Path.Text.Trim() == "")
    {
        MessageBox.Show("请选择要恢复的文件!", "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);
        return;
    }
    //this.GetExecute(G_Con, "create database if not exists clothes");
    string filePath = this.tb_Path.Text.Trim();
    string cmd = "mysql " + sqlAddress + " < \"" + filePath + "\"";
    string result = RunCmd(cmd);
    if (result.Trim() == "")
    {
        MessageBox.Show("数据库恢复成功!", "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    else
    {
        MessageBox.Show(result, "CMS", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
}
// 命令行操作
private string RunCmd(string command)
{
    //例Process
    Process p = new Process();

    p.StartInfo.FileName = "cmd.exe";           //确定程序名
    p.StartInfo.Arguments = "/c " + command;    //确定程式命令行
    p.StartInfo.UseShellExecute = false;        //Shell的使用
    p.StartInfo.RedirectStandardInput = true;   //重定向输入
    p.StartInfo.RedirectStandardOutput = true; //重定向输出
    p.StartInfo.RedirectStandardError = true;   //重定向输出错误
    p.StartInfo.CreateNoWindow = true;          //设置置不显示示窗口
    p.Start();   //00

    p.StandardInput.WriteLine(command);       //也可以用这种方式输入入要行的命令

    p.StandardInput.WriteLine("exit");        //要得加上Exit要不然下一行程式
    //p.WaitForExit();
    //p.Close();
    //return p.StandardOutput.ReadToEnd();        //输出出流取得命令行结果果
    return p.StandardError.ReadToEnd();
}
时间: 2025-01-06 15:33:42

C#中MySQL数据库的备份 还原 初始化的相关文章

C# MySQL数据库的备份 还原 初始化

// 执行创建数据库操作 this.GetExecute(G_Con, "create database if not exists NEWDB"); this.sqlAddress = " -h " + IP + " -u" + User + " -p" + Password + " NEWDB "; // 数据库的备份 private void btn_Dump_Click(object sender,

mysql数据的备份还原三种方法

MySQL的备份和恢复: 为什么要对数据做备份?    数据备份主要是用于灾难恢复和测试要求,灾难恢复指硬件故障,软件故障,自然灾害,黑客攻击以及误操作: 备份分为以下几类: 完全备份:既对所有数据做备份 部分备份:仅对数据库中一张或多张表做备份 差异备份:备份上次备份后变化的数据部分,和增量备份区别在于差异备份只可以相对完全备份做备份 增量备份:仅备份上次完全备份或增量备份之后变化的数据部分 热备份:在线备份,读写操作不受影响 温备份:在线备份,读操作继续,但写操作不允许: 冷备份:离线备份,

[知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原

通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/test.sql ---备份test数据库到 D 盘 mysql -h127.0.0.1 -uroot -ppass test< test.sql ---将D备份的数据库脚本,恢复到数据库中 更多命令参看:http://www.cnblogs.com/xcxc/archive/2013/01/30/28828

mysql数据库的备份

mysql备份数据: mysql数据库通过命令备份:不用登录数据库 mysqldump -uroot -p1234 store28>g:\1.sql mysql数据库通过命令还原: 方式1:备份到已经创建的数据库中(不用登录数据库) mysql -uroot -p1234 bak1<g:\1.sql 方式2 : 需要登录到指定的数据库上 source g:\1.sql

MySQL数据的备份还原及数据修复

在日常的生产环境中为什么要进行备份??备份可以使生产中的数据进行有效的灾难恢复:硬件故障.软件故障.自然灾害.误操作测试等数据丢失场景. 备份注意要点能容忍最多丢失多少数据恢复数据需要在多长时间内完成需要恢复哪些数据还原要点做还原测试,用于测试备份的可用性还原演练备份类型完全备份.不分备份完全备份:整个数据集部分备份:只备份数据子集,如部分库或表增量备份.差异备份增量备份:仅备份最近一次完全备份或增量备份(如果存在增量)以来变化的数据,备份较快,还原复杂差异备份:仅备份最近一次完全备份以来变化的

MySQL数据库-完全备份及恢复

MySQL数据库-完全备份及恢复 数据库备份的分类 物理角度: 冷备份:也称脱机备份,特点:关掉数据库再备份 热备份:也称联机备份,特点:开启数据库再备份 温备份:数据库只有可读权限的状态下备份 逻辑角度: 对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等 备份策略角度: 完全备份:每次对数据进行整体的备份 差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为'差异数据'.缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢.恢复

Linux系统中MySQL数据库“主从”配置

MySQL数据库"主从"配置 一.配置概述: 在Linux操作系统中配置MySQL数据库的主从复制是很重要的,为什么这样说呢!是因为在你搭建一个服务器以后你配置了2台数据库,一主一从.2台数据库配置好以后,当其中一台数据库被攻击以后,你被攻击的这台数据库的数据会被自动的备份到另一台数据库中去.即使被攻击了数据也不会丢失.配置主从就是为了让web网站或其他的软件可以正常运转,确保数据的存在. 二.配置步骤: <配置具备的条件> 1.需要在虚拟机上安装好两台主机,同时安装好同一

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du

吐槽阿里云数据库的备份还原

阿里云数据库RDS备份还原问题终于解决了.我会告诉你其实不用看他们的文档,直接还原就可以了吗? 详情如下: 我严格按照文档操作的,后来数据库启动过几秒后即崩溃,有两个错误,先解决了一个,后来一个用了各种办法都解决不了. 于是只好留言阿里云的客服,我着重强调了严格按照文档,并提交了崩溃信息. 结果客服说,请按文档操作,好吧. 后来看了一下阿里云提供的工具,一个导出脚本居然1M多,我的天,什么脚本这么大.于是看了一下代码,就是个简单的解压操作, 后面塞了一堆二进制,让人以为很高端,其实普通的解压软件