【问题标题】:Can MySQL be installed as an embedded database with an offline application?MySQL 可以作为嵌入式数据库与离线应用程序一起安装吗?
【发布时间】:2017-03-10 09:43:02
【问题描述】:

我选择 SQLite 作为数据库,以便轻松分发我的离线 c# 桌面应用程序(WPF / Winforms),但由于 IRD 认证,目前只能使用 MySQL 数据库。

我主要关心的是我想知道我是否可以将MySQL 数据库用于离线桌面应用程序并通过URL 分发.exe 以便于无人值守安装。

有可能吗?

【问题讨论】:

标签: c# mysql database winforms sqlite


【解决方案1】:

如 SQLite 的页面 Appropriate Uses For SQLite 所示,像 MySQL 这样的客户端/服务器数据库更适合客户端/服务器应用程序、大容量网站、非常大的数据集或高并发性。这不适用于您的离线应用程序,因此您应该使用设计为嵌入的数据库(不一定是 SQLite)。

MySQL 有一个embedded server library,可以直接链接到应用程序中。使用 C# 时,MySQL 库链接到 .NET MySQL 数据库驱动程序,因此使用嵌入式服务器需要重新编译该驱动程序。而这样的链接会触发 MySQL 的 GPL 许可。并且:

libmysqld 嵌入式服务器库自 MySQL 5.7.17 起已弃用,并将在 MySQL 8.0 中删除。

可以自己安装独立的 MySQL 服务器;这在Installing MySQL on Microsoft Windows Using a noinstall Zip Archive 中有描述。 但是,这仍然会将 MySQL 服务器作为单独的进程或服务运行,这可能与机器上的其他安装发生冲突;您的安装程序有责任为它在目标机器上遇到的任何环境正确配置该 MySQL 实例。

【讨论】:

  • 非常感谢您的回答。 libmysqld 的弃用会影响我未来应用程序的开发吗?它不会在 MySQL 5.7.17 之后的最新版本中可用吗?
  • 问 Oracle 是什么意思……
  • 能否提供那个链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-11
  • 2011-09-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 2019-12-07
相关资源
最近更新 更多