Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
DB - Database connections
The following configuration variables can be used to configure settings for the connection to the database:
Note
The configuration values listed here are keys in the global PHP array
$GLOBALS
.
This variable can be set in one of the following files:
additionalQueryRestrictions
$GLOBALS['TYPO3_CONF_VARS']['DB']['additionalQueryRestrictions']
-
- Type
- array
- Default
- []
It is possible to add additional query restrictions by adding class names as key to
$GLOBALS
. Have a look into the chapter Custom restrictions for details.['TYPO3_ CONF_ VARS'] ['DB'] ['additional Query Restrictions']
Connections
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']
-
- Type
- array
One or more database connections can be configured under the
Connections
key. There must be at least one configuration with theDefault
key, in which the default database is configured, for example:'Connections' => [ 'Default' => [ 'charset' => 'utf8mb4', 'driver' => 'mysqli', 'dbname' => 'typo3_database', 'host' => '127.0.0.1', 'password' => 'typo3', 'port' => 3306, 'user' => 'typo3', ], ]
Copied!It is possible to swap out tables from the default database and use a specific setup (for instance, for caching). For example, the following snippet could be used to swap the
be_
table to another database or even another database server:sessions 'Connections' => [ 'Default' => [ 'charset' => 'utf8mb4', 'driver' => 'mysqli', 'dbname' => 'typo3_database', 'host' => '127.0.0.1', 'password' => '***', 'port' => 3306, 'user' => 'typo3', ], 'Sessions' => [ 'charset' => 'utf8mb4', 'driver' => 'mysqli', 'dbname' => 'sessions_dbname', 'host' => 'sessions_host', 'password' => '***', 'port' => 3306, 'user' => 'some_user', ], ], 'TableMapping' => [ 'be_sessions' => 'Sessions', ]
Copied!Note
The connection options described below are the most commonly used. These options correspond to the options of the underlying Doctrine DBAL library. Please refer to the Doctrine DBAL connection details for a full overview of settings.
charset
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['charset']
-
- Type
- string
- Default
- 'utf8'
The charset used when connecting to the database. Can be used with MySQL/MariaDB and PostgreSQL.
dbname
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['dbname']
-
- Type
- string
Name of the database/schema to connect to. Can be used with MySQL/MariaDB and PostgreSQL.
driver
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['driver']
-
- Type
- string
The built-in driver implementation to use. The following drivers are currently available:
- mysqli
- A MySQL/MariaDB driver that uses the mysqli extension.
- pdo_mysql
- A MySQL/MariaDB driver that uses the pdo_mysql PDO extension.
- pdo_pgsql
- A PostgreSQL driver that uses the pdo_pgsql PDO extension.
- pdo_sqlite
- An SQLite driver that uses the pdo_sqlite PDO extension.
host
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['host']
-
- Type
- string
Hostname or IP address of the database to connect to. Can be used with MySQL/MariaDB and PostgreSQL.
password
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['password']
-
- Type
- string
Password to use when connecting to the database.
path
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['path']
-
- Type
- string
The filesystem path to the SQLite database file.
port
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['port']
-
- Type
- string
Port of the database to connect to. Can be used with MySQL/MariaDB and PostgreSQL.
tableoptions
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['tableoptions']
-
- Type
- array
- Default
- []
Defines the charset and collate options for tables for MySQL/MariaDB:
'Connections' => [ 'Default' => [ 'driver' => 'mysqli', // ... 'charset' => 'utf8mb4', 'tableoptions' => [ 'charset' => 'utf8mb4', 'collate' => 'utf8mb4_unicode_ci', ], ], ]
Copied!For new installations the above is the default.
unix_socket
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['unix_socket']
-
- Type
- string
Name of the socket used to connect to the database. Can be used with MySQL/MariaDB.
user
$GLOBALS['TYPO3_CONF_VARS']['DB']['Connections'][<connection_name>]['user']
-
- Type
- string
Username to use when connecting to the database.
TableMapping
$GLOBALS['TYPO3_CONF_VARS']['DB']['TableMapping']
-
- Type
- array
- Default
- []
When a TYPO3 table is swapped to another database (either on the same host or another host) this table must be mapped to the other database.
For example, the
be_
table should be swapped to another database:sessions 'Connections' => [ 'Default' => [ // ... ], 'Sessions' => [ 'charset' => 'utf8mb4', 'driver' => 'mysqli', 'dbname' => 'sessions_dbname', 'host' => 'sessions_host', 'password' => '***', 'port' => 3306, 'user' => 'some_user', ], ], 'TableMapping' => [ 'be_sessions' => 'Sessions', ]
Copied!