【发布时间】:2015-08-05 06:20:12
【问题描述】:
据我所知,在 Azure 网站上使用 MySQL 数据库的唯一方法是使用 Cleardb,但我可以在 Azure 云服务中提供的 VM 上安装 MySQL。如果是的话怎么办?
【问题讨论】:
标签: mysql azure azure-virtual-machine azure-cloud-services
据我所知,在 Azure 网站上使用 MySQL 数据库的唯一方法是使用 Cleardb,但我可以在 Azure 云服务中提供的 VM 上安装 MySQL。如果是的话怎么办?
【问题讨论】:
标签: mysql azure azure-virtual-machine azure-cloud-services
如果您谈论的是标准虚拟机,那么您可以使用 pre-built images on VMDepot。
如果您谈论的是 Web 或工作角色 (PaaS),我不会推荐它,但如果您真的愿意,可以。您需要在主机上完全编写解决方案安装脚本。唯一的缺点(而且是一个很大的缺点)是主机将在某个时候移动到新主机,这意味着您的 MySQL 数据文件将丢失 - 如果您经常备份并且乐于丢失一些数据,那么这个选项可能对你有用。
【讨论】:
这个问题可能会被关闭并移至 ServerFault(它真正属于的地方)。也就是说:ClearDB 在 Azure 中提供 MySQL 即服务。它与您可以在自己的虚拟机中安装的内容无关。您绝对可以进行基于 VM 的 MySQL 安装(或您可以在 Linux 或 Windows 上安装的任何其他数据库引擎)。事实上,Azure 门户甚至有一个 tutorial 用于在 OpenSUSE 上安装 MySQL。
如果您指的是以 web/worker 角色安装:这根本不适合数据库引擎,原因是:
因此,假设您仍然可以使用虚拟机(与无状态云服务虚拟机相比):您需要仔细规划您的部署,并做出如下决定:
其他人提到使用来自 VM Depot 的预构建 VM 映像。只要意识到,如果您走这条路,您将依赖其他人为您配置数据库引擎安装。对于您要实现的目标,这可能是最佳的,也可能不是最佳的。并且图像可能是也可能不是最新版本、补丁等。
当然,我所写的内容适用于您在自己的虚拟机中安装的任何数据库引擎,其中服务提供商(例如 ClearDB)往往会为您处理大部分这些事情。
【讨论】:
我认为,主要问题是“您想要实现什么?”。如我所见,您想将 PaaS 解决方案与 Web 应用程序或云服务一起使用,并且您需要一个 MySQL 数据库。如果是,您有两种选择(技术上都如 David Makogon 所说)。第一个是使用 MySQL 部署您自己的(一个)服务器并从外部(互联网端)连接到它。第二种解决方案是创建一个 MySQL 服务器或集群,并在 Azure 虚拟网络内部连接您的应用程序。使用云服务很简单,但使用 Web 应用程序则不然。您必须在 Azure VM 中创建 VPN 网关并将您的 Web 应用程序连接到此网关。这样,您将拥有从您的应用程序到您自己的 MySQL 集群的内部连接。
【讨论】: