当前位置:   article > 正文

在C#中使用MySqlBackup.NET在CentOS(Linux/Ubuntu)上备份和恢复MySQL数据库_c# 备份mysql数据库

c# 备份mysql数据库

目录

介绍

使用代码

方法 1:在CentOS上发布安装了运行时支持的软件包

方法 2:发布为“自包含”二进制文件


介绍

MySqlBackup.NET是一个用C#编写的开源项目,用于执行MySQL数据库的备份和恢复。本文将重点介绍如何构建此库以在CentOSLinux/Ubuntu)上运行。

使用代码

这个想法是在.NET Core中构建一个项目并将其发布为Linux包。

MySqlBackup.NET是一个用于备份和恢复MySQL数据库的开源.NET (C#/VB.NET)

在这里,我们正在研究如何在CentOS/Linux上运行MySqlBackup.NET来执行MySQL数据库的备份和恢复。

我们可以用一个简单的控制台应用程序来测试它。

首先创建一个.NET Core Console Linux项目:

检查项目属性,确保项目是使用.NET Core Framework构建的:

安装NugetMySqlBackup.NET(带有MySqlConnector):

一个简单的示例代码来测试:

  1. static void Main(string[] args)
  2. {
  3. try
  4. {
  5. Console.WriteLine("Enter the MySQL Connection String: ");
  6. Console.WriteLine();
  7. string constr = Console.ReadLine();
  8. Console.WriteLine();
  9. Console.WriteLine();
  10. Console.WriteLine(("Begin MySQL backup process..."));
  11. string folder = Environment.CurrentDirectory;
  12. string file = Path.Combine(folder, "backup.sql");
  13. using (MySqlConnection conn = new MySqlConnection(constr))
  14. {
  15. using (MySqlCommand cmd = new MySqlCommand())
  16. {
  17. using (MySqlBackup mb = new MySqlBackup(cmd))
  18. {
  19. conn.Open();
  20. cmd.Connection = conn;
  21. mb.ExportToFile(file);
  22. conn.Close();
  23. }
  24. }
  25. }
  26. Console.WriteLine("MySQL backup file saved at: " + file);
  27. }
  28. catch (Exception ex)
  29. {
  30. Console.WriteLine();
  31. Console.WriteLine("Error: " + ex.Message);
  32. }
  33. Console.WriteLine();
  34. Console.WriteLine("Press any key to exit...");
  35. Console.ReadKey();
  36. }

接下来,为.NET Core (Linux)发布项目:

有两种方法可以为Linux构建.NET Core项目:

  • 方法一:在CentOS上发布安装了运行时支持的包
  • 方法 2:发布为自包含二进制文件

方法 1:在CentOS上发布安装了运行时支持的软件包

首先,发布项目。

将目标运行时设置为linux-x64

在上面的示例中,Linux编译的二进制文件位于:

\bin\Release\netcoreapp3.1\publish\linux-x64

复制上述文件夹中的DLL并将其粘贴到您的CentOS中:

CentOS上,通过以下命令确保您已安装Dotnet运行时:

sudo dnf install dotnet-sdk-<version>

例如:

  1. sudo dnf install dotnet-sdk-3.1
  2. sudo dnf install dotnet-sdk-5.0

假设您已将.NET Core DLL文件复制到以下文件夹:

/home/<username>/testapp

然后您可以使用以下命令测试您的应用程序:

  1. cd /home/admin/testapp
  2. dotnet ConsoleApp.dll

方法 2:发布为自包含二进制文件

.NET Core App也可以在不安装dotnet runtime的情况下运行,即将项目编译为单个自包含二进制文件。

这是发布自包含二进制文件的屏幕截图:

这是发布后的示例,只有1个单个文件:

将编译好的二进制文件复制到CentOS

在终端上,浏览到包含自包含二进制文件的文件夹,例如:

cd /home/admin/testapp

接下来,是允许文件的执行权限:

sudo chmod 777 ConsoleApp2

运行应用程序:

./ConsoleApp2

有关发布自包含二进制文件的更多信息,请在此处阅读更多信息。

https://www.codeproject.com/Articles/5324213/Backup-Restore-MySQL-database-on-CentOS-Linux-Ubun

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/711594
推荐阅读
相关标签
  

闽ICP备14008679号