天天看點

c#備份MySQL資料庫

c#備份MySQL資料庫

namespace  BackupMySQL

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

    class Program

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

        public static void DoBackup()

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

            string[] ary = ReadFromText();

c#備份MySQL資料庫
c#備份MySQL資料庫

            string host = ary[0];

c#備份MySQL資料庫

            string port=ary[1];

c#備份MySQL資料庫

            string user = ary[2];

c#備份MySQL資料庫

            string password = ary[3];

c#備份MySQL資料庫

            string database = ary[4];

c#備份MySQL資料庫

            string fileName = database + "_bak_" + DateTime.Now.ToString("yyyyMMddhhmmss");

c#備份MySQL資料庫

            string bakPath = ary[5] + "\\" + fileName + ".sql";

c#備份MySQL資料庫

            string logPath = ary[6];

c#備份MySQL資料庫
c#備份MySQL資料庫

            string cmdStr = "/c mysqldump -h" + host + " -P" + port + " -u" + user + " -p" + password + " " + database + " > " + bakPath;

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

            try

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

                System.Diagnostics.Process.Start("cmd", cmdStr);

c#備份MySQL資料庫

            }

c#備份MySQL資料庫

            catch (Exception ex)

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

                WriteLog(logPath, ex.Message);

c#備份MySQL資料庫

            }

c#備份MySQL資料庫
c#備份MySQL資料庫

        }

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

        /// <summary>

c#備份MySQL資料庫

        /// 讀配置

c#備份MySQL資料庫

        /// </summary>

c#備份MySQL資料庫

        /// <returns></returns>

c#備份MySQL資料庫

        public static string[] ReadFromText()

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

            string FileName = @"d:\BackupIni.txt";

c#備份MySQL資料庫

            ArrayList list = new ArrayList();

c#備份MySQL資料庫

            if (File.Exists(FileName))

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

                StreamReader sr = new StreamReader(FileName, Encoding.Default);

c#備份MySQL資料庫

                string s = "";

c#備份MySQL資料庫

                while ((s = sr.ReadLine()) != null)

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

                    list.Add(s);

c#備份MySQL資料庫

                }

c#備份MySQL資料庫

            }

c#備份MySQL資料庫

            return (string[])list.ToArray(typeof(string));

c#備份MySQL資料庫

        }

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

        /// <summary>

c#備份MySQL資料庫

        /// 寫日志

c#備份MySQL資料庫

        /// </summary>

c#備份MySQL資料庫

        /// <param name="filePath"></param>

c#備份MySQL資料庫

        /// <param name="theStr"></param>

c#備份MySQL資料庫

        public static void WriteLog(string filePath, string theStr)

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

            if (!File.Exists(filePath))

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

                File.Create(filePath);

c#備份MySQL資料庫

            }

c#備份MySQL資料庫

            StreamWriter sw = new StreamWriter(filePath, true, Encoding.Default);

c#備份MySQL資料庫

            sw.WriteLine(theStr);

c#備份MySQL資料庫

            sw.Flush();

c#備份MySQL資料庫

            sw.Close();

c#備份MySQL資料庫

        }

c#備份MySQL資料庫
c#備份MySQL資料庫

        static void Main(string[] args)

c#備份MySQL資料庫
c#備份MySQL資料庫
c#備份MySQL資料庫

{

c#備份MySQL資料庫

            DoBackup();

c#備份MySQL資料庫

        }

c#備份MySQL資料庫

    }

c#備份MySQL資料庫

}

備份:mysqldump -hlocalhost -P3306 -uroot -p123 --default-character-set=utf8 mydata > d:\test\mydata.sql

還原:mysql -hlocalhost -P3306 -uroot -p123 mydata  < d:\test\mydata.sql