ASP.NET备份还原MYSQL数据库

ASP.NET备份还原MYSQL数据库,第1张

把MYSQL里的mysqldump 这个文件复制到你所在目录下就可以吧,如:/backup//// <summary>

/// 备份MYSQL数据

/// </summary>

/// <param name="db_ip">IP地址</param>

/// <param name="db_port">端口</param>

/// <param name="db_user">用户名</param>

/// <param name="db_pwd">密码</param>

/// <param name="db_name">数据库名</param>

/// <param name="backup_path">备份路径</param>

/// <returns></returns>

public string Exec(string db_ip, string db_port, string db_user, string db_pwd, string db_name, string backup_path)

{

string _dump = Server.MapPath("/backup")

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

string strOutput = null

try

{

p.Start()

p.StandardInput.WriteLine("@echo 开始对" + db_ip + "服务器上" + db_name + "执行备份 *** 作")

p.StandardInput.WriteLine("IF NOT EXIST " + backup_path + " md " + backup_path + "")

p.StandardInput.WriteLine("@" + _dump + "\\mysqldump -h" + db_ip + " -P" + db_port + " -u" + db_user + " -p" + db_pwd + " --opt " + db_name + " >" + backup_path + "\\" + db_name + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql")

p.StandardInput.WriteLine("@echo 对" + db_ip + "服务器MYSQL数据库文件" + db_name + "备份成功")

p.StandardInput.WriteLine("@echo 备份文件所在路径 " + backup_path + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql")

p.StandardInput.WriteLine("exit")

strOutput = p.StandardOutput.ReadToEnd()

p.WaitForExit()

p.Close()

}

catch (Exception e)

{

strOutput = e.Message

}

return strOutput

}

方法一:使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件。完成该组件后,需要在项目中引用这个组件,也可以直接在配置文件的<assemblies>节点内添加下面的节点:<add assembly="MySql.Data, Version=5.1.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>之后在程序中引用命名空间MySql.Data.MySqlClient,即可开始进行连接MySQL数据库的 *** 作了,示例如下:1protected void MySqlCon()2{3 //数据库连接字符串跟连接SQL SERVER没有区别4 string constr = "server=localhostUser Id=rootpassword=rootDatabase=test"56 //下面使用MySql Connector/net提供的专用对象7 MySqlConnection mycon = new MySqlConnection(constr)8 mycon.Open()9 MySqlCommand mycmd = new MySqlCommand("select * from users", mycon)10 MySqlDataReader myreader = mycmd.ExecuteReader()11 while (myreader.Read())12 {13 if (myreader.HasRows)14 {15 Response.Write(myreader.GetString("email") + "<br/>")16 }17 }18 myreader.Close()19 mycon.Close()2021}方法二:使用ODBC.NET。一般来说,ODBC.NET的DataProvider是标准的.NET框架(1.1及以上的版本)的一部分,所以会和后者一起自动安装好。一旦确认ODBC.NET安装完毕,你就需要下载用于MySQL的ODBC驱动程序:MySQL Connector/ODBC,目前最新版本是3.51。安装完毕后就可以使用ODBC.NET连接MySQL数据库了,首先需要在程序中引入System.Data.Odbc命名空间,具体的示例如下:1 public void Connect_Odbc()2 {3 //需要事先创建MySQL ODBC DSN.4 string odbcString = "DSN=MySQL"56 //string odbcString = "DRIVER={MySQL ODBC 3.51 Driver}" +7 // "SERVER=localhost" +8 // "Port=3306" + //连接本地数据库时可省略此项设置9 // "DATABASE=test" +10 // "UID=root" +11 // "PASSWORD=root" +12 // "OPTION=3"1314 OdbcConnection odbcConn = new OdbcConnection(odbcString)15 odbcConn.Open()16 OdbcCommand odbcCmd = new OdbcCommand("SELECT * FROM users", odbcConn)17 OdbcDataReader myreader = odbcCmd.ExecuteReader()18 while (myreader.Read())19 {20 if (myreader.HasRows)21 {22 Response.Write(myreader.GetString(0) + "<br/>")23 }24 }25 myreader.Close()26 odbcConn.Close()27 }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6935330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存