与数据库(MySQL 或 MariaDB)一起部署和安装应用程序 -- 离线环境 --

Deploy and install application along with database (MySQL or MariaDB) --offline environment--

我的 Java 应用程序使用 MariaDB (MySQL) 数据库。目前的困难是使用简单的包进行部署,以便可以轻松地将它们安装在另一台服务器上(服务器很可能与外界断开连接,因此无法下载脚本)。无论如何这可以做到吗?也许,脚本或包装?有没有人有做这样的任务的经验?我确信这是 Intranet 服务器应用程序的常见情况。他们通常是怎么做的?

我已经做了研究,我知道有其他数据库可以嵌入,比如 Derby。这当然是一个选择,但如果可能的话,我想坚持使用 MySQL。此外,它是一个开源项目,因此不需要法律建议。我正在努力解决问题,而不是 运行 解决它 -- 至少现在是这样。

* 假设服务器离线 * 假设服务器上没有root权限 * 易于设置和配置(可能无需安装程序) * 自动化流程

你探索过容器中运行mysql/mariadb的选项吗?

所以,对于那些正在寻找方法来做到这一点的人来说。 我会回答我自己的问题。

  1. 如下所述,您可以考虑利用 Docker 等平台,但需要在服务器上安装 Docker。此外,我不太确定 linux 容器是否可以像物理安装在服务器上的应用程序一样执行。这可能取决于应用程序。由于它是相当新的,您还必须 fiddle 经常使用它才能习惯它。

  2. 另一种解决方案是下载二进制 tar 并按照不需要 root 访问权限的安装指南进行操作(这是我 tar 为 Linux x86_64 服务器:http://www.bluecrownsoftware.com/article/271/Installing-MySQL-without-Root-Access-on-Linux)。然后你可以压缩整个目录。迁移后的小设置可以使用脚本完成。但是,这需要您为各种 OS 准备好部署。当心...由于脚本编写不当,我不得不面对无数错误。他们基本上是在假设您的环境不是本地的情况下编写脚本的。如果你有困难,也许我可以帮助你。我至少可以为这个 OS 工作。

  3. 您可以寻找便携式版本,例如 (https://code.google.com/p/pts-mini-gpl/wiki/Portable_MariaDB),但不太可能每个 OS.

  4. 都存在这些版本

对于我的项目,我可能会坚持使用选项 2,因为现在我的项目只有几个 OS 需要担心。 GL大家。案件结案。