MySQL是否应该单独安装

sam*_*old 20 mysql database

我经常听到人们发表诸如“我们的 MySQL 服务器机器失败”之类的陈述,这给我的印象是他们将一台机器专门用作他们的 MySQL 服务器(我猜他们只是安装了操作系统,并且只在上面安装了 MySQL)。作为开发人员而不是系统管理员,我习惯于将 MySQL 作为 LAMP 堆栈的一部分与 Web 服务器和 PHP 一起安装。

谁能给我解释一下:

  • 在单独的服务器上安装 MySQL 有什么意义?当我可以在那里添加整个灯组和其他服务器时,这听起来像是在浪费资源。
  • 如果数据库在单独的机器上,需要使用的应用程序如何连接到它?

gra*_*ace 30

当您的应用程序平台和数据库争用资源时,这通常是您准备好使用专用数据库服务器的第一个迹象。

其次,高可用性:建立一个数据库集群(通常依次是一个负载均衡的Web/应用服务器集群)。

我还要说安全性在迁移到单独的服务器中起着重要作用,因为您可以为每个服务器(例如,在 LAN 上具有数据库服务器的 DMZ 网络服务器)制定不同的网络访问策略。

对数据库服务器的访问是通过网络进行的。即,当您通常为数据库主机指定“localhost”时,您将指定数据库服务器的主机/IP 地址。注意:通常您需要修改数据库服务器的配置以允许连接/启用在环回接口以外的接口上的侦听。


Jan*_*nen 12

单独的数据库服务器只是良好的可扩展设计的一部分。如果您的流量不是很高并且单个服务器确实就足够了,这并不重要。

但在更繁忙的服务中,将服务彼此隔离是一件好事。如果有人对您的 Web 服务器进行 DDoS 攻击并使其消耗所有资源,则根本不会欺负数据库服务器。在共享环境中,可能有不止一个 Web 服务器在使用数据库服务器,因此如果数据库服务器包含 50 个不同网站的数据,那么由于 DDoS 只关闭一个网站比关闭所有网站要好。

同样从系统管理员的角度来看,是否有合理命名的专用服务器会更清楚,例如“mysql-01.yourcompany.com”和“webserver-01.yourcompany.com”。当他们收到警报时,他们会立即看到发生了什么,至少在“好吧,数据库有问题”的意义上是这样。我知道这是一个弱论点,因为多个 DNS 名称可以指向单个服务器,但仍然如此。

您的应用程序可以通过网络连接到远程数据库服务器而不会出现问题。啊啊啊啊啊啊!您的 Web 浏览器如何连接到远程服务器?这是魔法!呃……更严重的是,您只需在 $programming_language_of_your_choice 中提供服务器地址,而不是 'localhost' 就可以了。

  • 进一步对 Janne 的评论 re: sysadmin 观点...当您遇到性能问题或需要调试应用程序时,当 Web 服务器和数据库服务器位于不同的机器上时,它会更容易做到。 (2认同)

Ign*_*ams 5

  • 一些网站/应用程序大量使用数据库,以至于需要一台或多台专用于数据库本身的服务器。
  • 通过网络。