天天看點

c#利用定時器自動備份資料庫(mysql)

引用dll

mysql.data.dll是MySQL資料庫中一款必備的驅動檔案,主要用于.net程式設計和MySQL資料庫的連接配接,包含不同版本的mysql.data.dll,支援32位和64位系統

MySqlBackup快速備份或還原 MySql資料庫,原理是使用MySqlBackup.dll 中的備份和還原方法,将資料庫的資訊轉換為對應的sql語句,然後進行處理。

MySql.Data.dll
MySqlbackup.dll           

靜态類

建立一個連接配接字元串靜态類

public static class mysql
{
public static string constr = "database=test;Password=密碼;user ID=root;server=ip位址";
public static MySqlConnection conn = new MySqlConnection(constr);
}           

定時器啟動

timer1.Interval = 1000; //代表一秒運作一次
timer1.Enabled = true; //啟動           

備份代碼

private void timer1_Tick(object sender, EventArgs e) 
{
    if (booql) 
    {
        booql = false;
        if (DateTime.Now.Hour == 10 && DateTime.Now.Minute == 00) //時間10點 
        {
            string time1 = System.DateTime.Now.ToString("d").Replace("/", "-");
            string file = ".//mysql/" + time1 + "_test.sql";
            using (MySqlCommand cmd = new MySqlCommand()) 
            {
                using (MySqlBackup mb = new MySqlBackup(cmd)) 
                {
                    cmd.Connection = mysql.conn;
                    mysql.conn.Open();
                    mb.ExportToFile(file);
                    mysql.conn.Close();
                    MessageBox.Show("資料庫已自動備份本地");
                }
            }
        }
    }
}