C#程序调用cmd执行命令-MySql备份还原

1.简单实例

//备份还原mysql
public static void TestOne()
{
    Process p = new Process();
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardInput = true;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.RedirectStandardError = true;
    p.StartInfo.CreateNoWindow = true;
    //指定MySql程序的bin 目录
    p.StartInfo.WorkingDirectory = @"E:\mysql-5.6.26-winx64\bin";
    p.Start();

    /*************
    * 备份命令
    **************/
    //简单格式
    //string strSql = "mysqldump --quick --host=localhost -u root -p123 test > d:\\test_20151227110010.sql";
    /*命令指定格式*/
    //String command = "mysqldump --quick --host=localhost --default-character-set=gb2312 --lock-tables --verbose  --force --port=端口号 --user=用户名 --password=密码 数据库名 -r 备份到的地址";
    //string strSql = "mysqldump --quick --host=localhost  --default-character-set=gb2312 --lock-tables --verbose  --force --port=3306 --user=root --password=123 test -r d:\\one.sql";

    /*************
    * 还原命令
    **************/
    //简单格式
    //string strSql = "mysql  --host=localhost -u root -p123 test < d:\\test_20151227110010.sql";
    /**还原命令格式**/
    //string s = "mysql --host=localhost --default-character-set=gbk --port=端口号 --user=用户名 --password=密码 数据库名<还原文件所在路径";
    string strSql = "mysql  --host=localhost --port=3306 --user=root --password=123 test < d:\\test_20151227110010.sql";

    p.StandardInput.WriteLine(strSql + " &exit");
    p.StandardInput.AutoFlush = true;

    /****执行命令,没有返回可验证的结果*****/
    //显示方式1
    //StreamReader reader = p.StandardOutput;
    //string line = reader.ReadLine();
    //while (!reader.EndOfStream)
    //{
    //    Console.WriteLine(line);
    //    line = reader.ReadLine();
    //}

    //显示方式2
    string result = p.StandardOutput.ReadToEnd();
    Console.WriteLine(result);

    //返回警告结果 --Warning: Using a password on the command line interface can be insecure.
    string result2 = p.StandardError.ReadToEnd();
    Console.WriteLine(result2);

    //显示方式3
    ShowValue(p);

    p.WaitForExit();
    p.Close();
}

private static async void ShowValue(Process p)
{
    string result = await p.StandardOutput.ReadToEndAsync();
    Console.WriteLine(result);
}

时间: 2024-10-17 05:45:30

C#程序调用cmd执行命令-MySql备份还原的相关文章

C#程序调用CMD执行命令

在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统.输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机.总之,它非常有用.打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车.它也可以执行BAT文件. 下面介绍使用C#程序调用cmd执行命令: 代码: 1 using System; 2 using System.Coll

C#程序调用cmd执行命令(转)

C#通过程序来调用cmd命令的操作 string str = Console.ReadLine(); System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 p.StartInfo.RedirectStandardInput = true

C#程序调用CMD执行命令方法

先将adb.exe环境加入系统环境变量 { Process process = new Process(); process.StartInfo.FileName = "cmd.exe"; //process.StartInfo.Arguments = "adb deviecs"; process.StartInfo.WorkingDirectory = "C:/Users/Administrator"; process.StartInfo.Us

C# 调用CMD执行命令行

这几天用c#做了一个项目,其中一个功能是要把生成的临时文件隐藏,同时,不能在屏幕上有调用CMD的痕迹,这里生成的临时文件的绝对路径为delfile为文件的绝对路径, 代码如下: private void HiddenFile() { System.Diagnostics.Process proRestart = new System.Diagnostics.Process();    //创新Process proRestart.StartInfo.WindowStyle = System.Di

linux 程序调用system执行命令

正确使用system方法,判断返回值 int exeCmd(const char *cmd) { pid_t status; status = system(cmd); if (-1 == status) { WriteLog("system error!"); } else { WriteLog("exit status value = [0x%x]\n", status); if (WIFEXITED(status)) { if (0 == WEXITSTATU

C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper { private static string CmdPath = @"C:\Windows\System32\cmd.exe"; /// <summary> /// 执行cmd命令 /// 多命令请使用批处理命令连接符: /// <![CDATA[ /// &:同时执行两个命令 /// |:将上一个命令的输出,作为下一个命令的输入 /// &&

java调用cmd执行maven命令

一.原理介绍 Java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后封闭命令窗口. cmd /k dir 是执行完dir命令后不封闭命令窗口. cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会封闭. cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会封闭. 可以用cmd / 查看帮助信息. 二.java调用cmd执行maven package命

MySql 备份还原

mysql备份还原方法 mysql备份和还原我们一般会执行这样的操作:在现场mysql数据库(一般是linux系统)上备份数据库(一般有几十G到上百G)到windows机器上,然后到公司后将windows机器上的文件还原到公司的linux系统的mysql数据库上. 本文档主要用于需要备份的数据库很大的情况下的操纵(数据库很小的话有很多其他简便的方法).在现实情况当中我们一般是在现场做1,2步,然后3,4步是在公司做. 1.本文操作的场景:将192.168.1.207(centos)上的mysql

Linux运维 第四阶段 (六)MySQL备份&&还原(mysqldump、LV’s snapshot、xtrabackup)

Linux运维 第四阶段 (六)MySQL备份&&还原(mysqldump.LV's snapshot.xtrabackup) 一.相关概念 备份:副本,mysql-database备份不同于RAID(RAID是保证硬件损坏而不会业务终止) 备份内容:数据.配置文件.二进制日志.事务日志 1.备份类型: >热备份.温备份.冷备份 热备份:读写不受影响,复杂度高,InnoDB(xtrabackup,mysqldump),lvm快照功能可实现几乎热备: 温备份:仅可执行读操作,MyISA