- 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 8 supports MySQL 5.0.15 or higher (or MySQL 5.1.30 or higher) with InnoDB as the primary storage engine, and requires the PDO database extension.
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 7 and earlier support MyISAM and InnoDB table types. Drupal 8 no longer supports MyISAM as the primary storage engine, so InnoDB table types are recommended. 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.