c# - 从应用程序内启动和停止本地 mysql 实例

标签 c# mysql winforms

我的任务是编写一些内部管理软件。该软件与在线 MySQL 数据库对话。但是,如果没有互联网连接,则系统应使用本地“离线”MySQL 数据库。

首先,我尝试使用远程 MySQL 和本地 SQLCE 来完成此操作。遗憾的是,查询字符串差异很大,因此这是不可行的。

我的问题是;如何在加载应用程序时在特定端口上启动 MySQL 实例,然后在软件关闭时关闭该实例?

我之前已将 XAMPP 与一个软件捆绑在一起,但不确定在这种情况下这是否是正确的方法?

ProcessStartInfo test = new ProcessStartInfo(Application.StartupPath + @"mysqldb\bin");
        test.FileName = @"mysqld.exe";
        test.UseShellExecute = true;
        Process.Start(test);

最佳答案

您也许应该在本地和外部安装 MySQL 数据库。软件加载时,只需使用本地数据库即可。当一切正常后,将本地与实时数据库同步,并将数据库链接从本地切换到实时。不要停止本地数据库,因为如果互联网出现故障,您需要能够使用本地数据库保存数据。

始终与本地同步实时数据库,因此如果互联网已启动,请使用实时数据库,但也可以使用本地数据库。一切都需要同步。然后,数据将始终作为“备份”或离线数据库保存在计算机上,并且您的实时数据库将拥有来自任何地方的所有内容。

使用缓冲区,因此您需要在空白中释放查询。另外,在Windows下,您可以使用服务来启动和停止MySQL。

我希望我回答了您的一些问题。

关于c# - 从应用程序内启动和停止本地 mysql 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11091232/

相关文章:

c# - 测试/验证弱引用

mysql - mysqldump : "--defaults-extra-file" option is not working as expected 的问题

winforms - 过滤 WinForm DataGridView

c# - 无需安装程序即可发布 Windows 窗体项目

mysql - 如何修复 'Can not connect to MySQL server'错误?

c# - Web 浏览器组件是 IE7 不是 IE8?如何改变这个?

c# - 需要一个通过 USB 端口控制的 Switch 组件

c# - 如何将 Azure AD 身份验证添加到现有 .net 网站

c# - 如何在 C# 中访问 header 模板

MySQL讲解查询理解