抓住MySQL数据库的WinSCP问题

时间:2016-09-20 15:58:37

标签: c# mysql winscp

我正在尝试从Linux机器中获取MySQL数据库,并且在其他人的帮助下,我了解到获取数据库的最佳方法是执行mysqldump命令。查看Session.ExecuteCommand函数后,到目前为止我的代码是

static void Main(string[] args)
    {
        SessionOptions sessionSettings = new SessionOptions
        {
            Protocol = Protocol.SCP,
            HostName = "*****",
            UserName = "userName",
            Password = "password",
            SshHostKeyFingerprint = "ssh-rsa 2048 ******************"
        };

        using (Session session = new Session())
        {
            session.Open(sessionSettings);

            string strFilePath = @"/tmp/mySqlDatabases.gz";
            string strCommand = string.Format("mysqldump --opt -u {0} --password={1} --all-databases | gzip > {2}",
                              sessionSettings.UserName, sessionSettings.Password, tempFilePath);
            session.ExecuteCommand(strCommand).Check();
            session.GetFiles(strFilePath, @"C:\temp\mySqlDatabases.gz").Check();
        }
    }

当这个运行时,我能够获得没有问题的gz文件,但是我不确定我想要对新文件做什么。当我提取它时,我得到一个1 KB文件,我不知道如何使用,也不像数据库。我是否需要恢复此转储文件以获取我想要的数据库,或者我还缺少另一个步骤吗?

0 个答案:

没有答案