推荐: MySQL (或者等效的数据库,比如 MariaDB)
- Drupal 5.x 以及更早期的版本支持MySQL 3.23.17 或者更高版本,强烈推荐MySQL 4.1 或更高版本。
- Drupal 6 支持MySQL 4.1 或更高版本。
- Drupal 7 将只支持MySQL 5.0.15 或者更高版本,同时需要安装PHP的PDO数据库扩展 (查阅PDO是什么?)。
有一些MySQL的替代方案,Drupal已经广泛测试了MariaDB,推荐5.1.44版本 (或更高)。其他的替代方案也可能会很好的运行Drupal,然而目前还未接受专门的测试。
注意
- 在使用一些廉价的主机托管计划时,Drupal会使一些数据库功能不可用,因此,请检查您的主机,确保它允许数据库账户拥有以下权利: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER。 这些权利足够运行Drupal 6.x核心。
- 有些贡献的模块,以及Drupal 5.x 核心 (非Drupal 6.x核心),需要以下额外权利: CREATE TEMPORARY TABLES, LOCK TABLES。
- 如果您的系统/主机在运行MySQL 4.1 或者更新版本时,您收到了错误提示:“客户端不支持服务器请求的认证协议”,参照由MySQL AB提供的说明可以解决这个问题,在一些MySQL 5+ 的安装情况时,会有一个小小的操作系统问题,它主要发生在Windows系统,但同样也会影响一些Unix/Linux 版本。
- 当使用Drupal 5.x 或更新版本,尤其是带有贡献模块情形时,也许有必要设置系统变量max_allowed_packet至少16M,一些廉价的主机托管计划把这个值设定的 太低 (MySQL的默认设置仅有 1M)。此时,你也许应该选择一个更好的主机托管计划,1M的设定值也许运行 5.x版本足够了。
- Drupal支持MyISAM 和 InnoDB 的表类型,NDB 表(MySQL 簇)不被支持。
- 请注意,如果您的虚拟主机账户是通过图形控制面板来设置的,比如Plesk或CPanel,那您大可不必担心为您的MySQL安装驱动,它很可能已经安装 到您的服务器上了,您不妨先简单地创建您的数据库,并且安装您的Drupal,如果遇到问题,您可以返回到Drupal文档找到解决具体问题的方案
PostgreSQL
注意:有些贡献的模块不是基于MySQL测试的——每个人都有特殊代码的爱好。如果您更熟悉 PostgreSQL,请您将遇到的与这些模块相关的问题记录下来。
- Drupal 6 支持PostgreSQL 7.1 或更高版本
- Drupal 7 将只支持PostgreSQL 8.3 或更高版本
- PHP 5.2.6 的Windows版里的pgsql扩展有一个错误,您将需要用5.2.5版本里的php_pgsql.dll来替换它。
SQLite 3.x - 只有Drupal 7支持
SQLite 3.3.7 或更高版本。
注意:有些贡献模块不是基于MySQL测试的——每个人都有特殊代码的爱好。如果您更熟悉 SQLite,请您将遇到的与这些模块相关的问题记录下来。
其他的数据库服务器
Microsoft SQL Server和Oracle需要有额外的模块支持。 如果您对数据库支持感兴趣的话,可以查看Enterprise Group里关于该方面的讨论。
Taxonomy upgrade extras