- Drupal 6 supports MySQL 4.1 or higher, but MySQL 5.0.15 or higher is recommended
- Drupal 7 supports MySQL 5.0.15 or higher (or MySQL 5.1.30 or higher), and requires the PDO database extension for PHP (see What is PDO?).
- Drupal 7 has some support for MongoDB and Drupal 8 is likely to be able to run solely on MongoDB.
There are several drop-in replacements for MySQL. Drupal has been extensively tested with MariaDB, and version 5.1.44 (or greater) is recommended. It is also likely that other drop-in replacements such as Percona Server will work well with Drupal, but they may not have specifically undergone testing.
- Drupal makes use of some features not available on some inexpensive hosting plans so please check that your host allows database accounts with the following rights:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER.
These rights are sufficient to run Drupal 6 and 7
- Some contributed modules, and also Drupal core 5.x (but not Drupal core 6.x), additionally require the following rights:
CREATE TEMPORARY TABLES, LOCK TABLES.
- It may be necessary to set the system variable max_allowed_packet to at least 16M. Some inexpensive hosting plans set this value too low (the MySQL default is only 1M). In that case, you may need to choose a better hosting plan. A value of 1M may be sufficient for Drupal 5.
- Drupal supports MyISAM and InnoDB table types. NDB tables (MySQL Cluster) are not supported.
- Note that if your web hosting account is set up with a graphic control panel such as Plesk or CPanel, it is very likely that you do not need to worry about installing a driver for MySQL -- it is probably already installed on your server. You might wish to simply create your database and proceed with installing Drupal, and then refer back to Drupal documentation for specific troubleshooting help if you run into problems.
Note: Some contributed modules are not as abstracted from MySQL-specific code as everyone would like. If you are familiar with PostgreSQL please file issues with those contributed modules as you find them.
- Drupal 6 supports PostgreSQL 7.1 or higher
- Drupal 7 supports PostgreSQL 8.3 or higher
SQLite 3.3.7 or higher - Drupal 7 only.
Note: Some contributed modules are not as abstracted from MySQL-specific code as everyone would like. If you are familiar with SQLite please file issues with those contributed modules as you find them.
Other database servers
Please see discussions in the Enterprise Group if you are interested in working on database support.