none
Como fazer backup do MySql instalado em Ubuntu com C#? RRS feed

  • Pergunta

  • Ola senhores. Eu preciso gerar um metodo em C# que gere o backup de certas tabelas do banco.

    Mas esse banco (MySql) esta instalado em uma maquina na rede que esta rodando Ubuntu.

    Vi alguns metodos na net mas sem sucesso, por exemplo:

     

    try
                {
                    DateTime backupTime = DateTime.Now;
                    int year = backupTime.Year;
                    int month = backupTime.Month;
                    int day = backupTime.Day;
                    int hour = backupTime.Hour;
                    int minute = backupTime.Minute;
                    int second = backupTime.Second;
                    int ms = backupTime.Millisecond;

                    String tmestr = backupTime.ToString();
                    tmestr = "C:\\" + year + "-" + month + "-" + day + "-" + hour + "-" + minute + "-" + second + "-" + ms + ".txt";
                    StreamWriter file = new StreamWriter(tmestr);
                    ProcessStartInfo proc = new ProcessStartInfo();
                    proc.FileName = "mysqldump";
                    proc.RedirectStandardInput = false;
                    proc.RedirectStandardOutput = true;
                    proc.Arguments = "supplydirect";
                    proc.UseShellExecute = false;
                    Process p = Process.Start(proc);
                    string res;
                    res = p.StandardOutput.ReadToEnd();
                    file.WriteLine(res);
                    p.WaitForExit();
                    file.Close();
                }
                catch (IOException ex)
                {
                    MessageBox.Show("Disk full or other IO error , unable to backup!");
                }

     

    mas ele gera um erro, pois com esse metodo ele procura pelo mysql instalado em minha maquina.

    ja este outro que fiz pelo seguinte artigo -> http://www.sqlmagazine.com.br/Colunistas/eber/07_BackupMySQL.asp

    tentei soh o primeiro metodo do artigo, mas parece q ele criou o arquivo de backup no diretorio do server(ubuntu)

    queria saber como eu faço para salvar esse "arquivo" mas no windows...

     

    quarta-feira, 9 de março de 2011 13:08

Todas as Respostas

  • try
     {
     Process.Start("CAMINHO DO MYSQL NA SUA MAQUINA/bin/mysqldump.exe",
     "-u USER --password=SENHA -B BANCO  > -r " + arq).WaitForExit(5000);
     if (File.Exists(arq))
     return true;
     else
     return false;
     }
     catch
     {
     throw new Exception("Backup não pode ser realizado nessa maquina.");
     }
    
    


    Bacharel em Ciência da Computação
    quinta-feira, 5 de janeiro de 2012 14:39