【问题标题】:Deploy and install application along with database (MySQL or MariaDB) --offline environment--与数据库(MySQL或MariaDB)一起部署和安装应用程序--离线环境--
【发布时间】:2015-04-09 08:05:38
【问题描述】:

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

我已经完成了我的研究,并且我知道有可以嵌入的替代数据库,例如 Derby。这肯定是一种选择,但如果可能的话,我想坚持使用 MySQL。此外,它是一个开源项目,因此无需法律建议。我正在努力解决这个问题,而不是绕开它——至少现在是这样。

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

【问题讨论】:

    标签: mysql database deployment mariadb


    【解决方案1】:

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

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

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

    3. 您可以寻找可移植版本,例如 (https://code.google.com/p/pts-mini-gpl/wiki/Portable_MariaDB),但这些版本不太可能适用于所有操作系统。

    我可能会在我的项目中坚持使用选项 2,因为我现在只需要为我的项目担心几个操作系统。 GL大家。结案。

    【讨论】:

      【解决方案2】:

      您是否探索过在容器中运行 mysql/mariadb 的选项。

      【讨论】:

      • 你是说像Docker这样的容器?我只是查了一下,我认为它确实是一个很棒的工具,但我不确定这与我的问题有什么关系。你的意思是我应该先分发 Docker 吗?即使我可以将 mysql 安装的映像移动到服务器上,我不会在容器而不是服务器本身中运行程序吗?
      • 所以我想知道这样的事情是否可行: 1. 创建一个 mysql docker 容器,实际上在 dockerhub 上已经有几个很好的容器可用。 2. 提供一个 package-setup 脚本 - 在主机上安装 docker,然后从 dockerhub 或您的个人仓库中提取您的 mysql 容器,如果您认为外部网络连接会成为问题,您甚至可以打包一个图像。下一步是启动容器(-p 3306 以公开 mysql 端口 -d 守护程序),然后部署您的应用程序。您的应用应该能够与容器中运行的 mysql 通信。
      • 感谢您的建议,让我学到了很多关于 Docker 的知识。我认为这对于其他项目来说将是一个非常有用的平台。但就目前而言,我认为这个解决方案只会增加一个要添加的应用程序。我在问题的前面没有提到,但是没有 root 访问权限对我来说是另一个条件,所以 Docker 不是最好的答案。我想我只是回答了我自己的问题。还是谢谢你!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多