16.6.3 连接服务器

有些方法可以控制与数据库服务器的连接,它们也可以保证数据库的安全性。一个最简单的方法就是限制允许连接数据库的用户。在各种数据库管理系统中,有许多权限系统除了可以用来指定用户名称和密码,还可以指定用户可以通过那些机器连接服务器。如果数据库服务器和Web服务器/PHP引擎位于同一台机器,只允许来自"localhost"或那台机器所使用的IP地址进行连接是非常有意义的,只允许来自那台机器的用户连接到数据库也是没有问题的。

许多数据库服务器提供了通过加密的连接来连接服务器的特性(通常使用常见的协议:加密套接字层,或者SSL)。如果必须通过开放的互联网连接数据库,绝对应该使用可供使用的加密连接。如果没有可供使用的,可以考虑使用了tunneling技术的产品,这样就可以保证机器间的安全连接以及TCP/IP端口通过这个安全连接路由至其他计算机,而这个流量看上去却像本地流量。

最后,必须确保数据库服务器在任何时候能够处理的连接数大于或超过Web服务器和PHP的连接数。前面提到过,在默认情况下,Apache HTTP服务器1.3.x系列能够启动150个服务器。MySQL的my.ini文件中关于连接数的默认设置为100,这样就出现了不匹配的配置。

要改变它,我们可以对my.ini文件进行如下所示的修改:


max_connections=151


我们多分配了一个连接,因为MySQL通常为root用户预留一个连接。这样,即使当服务器满负载时,超级用户也可以登录并进行操作。