- -
-

Configuration

-

All configurable data is placed in config.inc.php in phpMyAdmin’s -toplevel directory. If this file does not exist, please refer to the -Installation section to create one. This file only needs to contain the -parameters you want to change from their corresponding default value in -libraries/config.default.php (this file is not inteded for changes).

-
-

See also

-

Examples for examples of configurations

-
-

If a directive is missing from your file, you can just add another line with -the file. This file is for over-writing the defaults; if you wish to use the -default value there’s no need to add a line here.

-

The parameters which relate to design (like colors) are placed in -themes/themename/layout.inc.php. You might also want to create -config.footer.inc.php and config.header.inc.php files to add -your site specific code to be included on start and end of each page.

-
-

Note

-

Some distributions (eg. Debian or Ubuntu) store config.inc.php in -/etc/phpmyadmin instead of within phpMyAdmin sources.

-
-
-

Warning

-

Mac users should note that if you are on a version before -Mac OS X, PHP does not seem to -like Mac end of lines character (\r). So -ensure you choose the option that allows to use the *nix end of line -character (\n) in your text editor before saving a script you have -modified.

-
-
-

Basic settings

-
-
-$cfg['PmaAbsoluteUri']
-
--- - - - - - -
Type:string
Default value:''
-
-

Changed in version 4.6.5: This setting was not available in phpMyAdmin 4.6.0 - 4.6.4.

-
-

Sets here the complete URL (with full path) to your phpMyAdmin -installation’s directory. E.g. -https://www.example.net/path_to_your_phpMyAdmin_directory/. Note also -that the URL on most of web servers are case sensitive (even on -Windows). Don’t forget the trailing slash at the end.

-

Starting with version 2.3.0, it is advisable to try leaving this blank. In -most cases phpMyAdmin automatically detects the proper setting. Users of -port forwarding or complex reverse proxy setup might need to set this.

-

A good test is to browse a table, edit a row and save it. There should be -an error message if phpMyAdmin is having trouble auto–detecting the correct -value. If you get an error that this must be set or if the autodetect code -fails to detect your path, please post a bug report on our bug tracker so -we can improve the code.

- -
- -
-
-$cfg['PmaNoRelation_DisableWarning']
-
--- - - - - - -
Type:boolean
Default value:false
-

Starting with version 2.3.0 phpMyAdmin offers a lot of features to -work with master / foreign – tables (see $cfg['Servers'][$i]['pmadb']).

-

If you tried to set this -up and it does not work for you, have a look on the Structure page -of one database where you would like to use it. You will find a link -that will analyze why those features have been disabled.

-

If you do not want to use those features set this variable to true to -stop this message from appearing.

-
- -
-
-$cfg['AuthLog']
-
--- - - - - - -
Type:string
Default value:'auto'
-
-

New in version 4.8.0: This is supported since phpMyAdmin 4.8.0.

-
-

Configure authentication logging destination. Failed (or all, depending on -$cfg['AuthLogSuccess']) authentication attempts will be -logged according to this directive:

-
-
auto
-
Let phpMyAdmin automatically choose between syslog and php.
-
syslog
-
Log using syslog, using AUTH facility, on most systems this ends up -in /var/log/auth.log.
-
php
-
Log into PHP error log.
-
sapi
-
Log into PHP SAPI logging.
-
/path/to/file
-
Any other value is treated as a filename and log entries are written there.
-
-
-

Note

-

When logging to a file, make sure its permissions are correctly set -for a web server user, the setup should closely match instructions -described in $cfg['TempDir']:

-
-
- -
-
-$cfg['AuthLogSuccess']
-
--- - - - - - -
Type:boolean
Default value:false
-
-

New in version 4.8.0: This is supported since phpMyAdmin 4.8.0.

-
-

Whether to log successful authentication attempts into -$cfg['AuthLog'].

-
- -
-
-$cfg['SuhosinDisableWarning']
-
--- - - - - - -
Type:boolean
Default value:false
-

A warning is displayed on the main page if Suhosin is detected.

-

You can set this parameter to true to stop this message from appearing.

-
- -
-
-$cfg['LoginCookieValidityDisableWarning']
-
--- - - - - - -
Type:boolean
Default value:false
-

A warning is displayed on the main page if the PHP parameter -session.gc_maxlifetime is lower than cookie validity configured in phpMyAdmin.

-

You can set this parameter to true to stop this message from appearing.

-
- -
-
-$cfg['ServerLibraryDifference_DisableWarning']
-
--- - - - - - -
Type:boolean
Default value:false
-
-

Deprecated since version 4.7.0: This setting was removed as the warning has been removed as well.

-
-

A warning is displayed on the main page if there is a difference -between the MySQL library and server version.

-

You can set this parameter to true to stop this message from appearing.

-
- -
-
-$cfg['ReservedWordDisableWarning']
-
--- - - - - - -
Type:boolean
Default value:false
-

This warning is displayed on the Structure page of a table if one or more -column names match with words which are MySQL reserved.

-

If you want to turn off this warning, you can set it to true and -warning will no longer be displayed.

-
- -
-
-$cfg['TranslationWarningThreshold']
-
--- - - - - - -
Type:integer
Default value:80
-

Show warning about incomplete translations on certain threshold.

-
- -
-
-$cfg['SendErrorReports']
-
--- - - - - - -
Type:string
Default value:'ask'
-

Sets the default behavior for JavaScript error reporting.

-

Whenever an error is detected in the JavaScript execution, an error report -may be sent to the phpMyAdmin team if the user agrees.

-

The default setting of 'ask' will ask the user everytime there is a new -error report. However you can set this parameter to 'always' to send error -reports without asking for confirmation or you can set it to 'never' to -never send error reports.

-

This directive is available both in the configuration file and in users -preferences. If the person in charge of a multi-user installation prefers -to disable this feature for all users, a value of 'never' should be -set, and the $cfg['UserprefsDisallow'] directive should -contain 'SendErrorReports' in one of its array values.

-
- -
-
-$cfg['ConsoleEnterExecutes']
-
--- - - - - - -
Type:boolean
Default value:false
-

Setting this to true allows the user to execute queries by pressing Enter -instead of Ctrl+Enter. A new line can be inserted by pressing Shift + Enter.

-

The behaviour of the console can be temporarily changed using console’s -settings interface.

-
- -
-
-$cfg['AllowThirdPartyFraming']
-
--- - - - - - -
Type:boolean|string
Default value:false
-

Setting this to true allows phpMyAdmin to be included inside a frame, -and is a potential security hole allowing cross-frame scripting attacks or -clickjacking. Setting this to ‘sameorigin’ prevents phpMyAdmin to be -included from another document in a frame, unless that document belongs -to the same domain.

-
- -
-
-

Server connection settings

-
-
-$cfg['Servers']
-
--- - - - - - -
Type:array
Default value:one server array with settings listed below
-

Since version 1.4.2, phpMyAdmin supports the administration of multiple -MySQL servers. Therefore, a $cfg['Servers']-array has been -added which contains the login information for the different servers. The -first $cfg['Servers'][$i]['host'] contains the hostname of -the first server, the second $cfg['Servers'][$i]['host'] -the hostname of the second server, etc. In -libraries/config.default.php, there is only one section for server -definition, however you can put as many as you need in -config.inc.php, copy that block or needed parts (you don’t have to -define all settings, just those you need to change).

-
-

Note

-

The $cfg['Servers'] array starts with -$cfg[‘Servers’][1]. Do not use $cfg[‘Servers’][0]. If you want more -than one server, just copy following section (including $i -incrementation) serveral times. There is no need to define full server -array, just define values you need to change.

-
-
- -
-
-$cfg['Servers'][$i]['host']
-
--- - - - - - -
Type:string
Default value:'localhost'
-

The hostname or IP address of your $i-th MySQL-server. E.g. -localhost.

-

Possible values are:

-
    -
  • hostname, e.g., 'localhost' or 'mydb.example.org'
  • -
  • IP address, e.g., '127.0.0.1' or '192.168.10.1'
  • -
  • IPv6 address, e.g. 2001:cdba:0000:0000:0000:0000:3257:9652
  • -
  • dot - '.', i.e., use named pipes on windows systems
  • -
  • empty - '', disables this server
  • -
-
-

Note

-

The hostname localhost is handled specially by MySQL and it uses -the socket based connection protocol. To use TCP/IP networking, use an -IP address or hostname such as 127.0.0.1 or db.example.com. You -can configure the path to the socket with -$cfg['Servers'][$i]['socket'].

-
- -
- -
-
-$cfg['Servers'][$i]['port']
-
--- - - - - - -
Type:string
Default value:''
-

The port-number of your $i-th MySQL-server. Default is 3306 (leave -blank).

-
-

Note

-

If you use localhost as the hostname, MySQL ignores this port number -and connects with the socket, so if you want to connect to a port -different from the default port, use 127.0.0.1 or the real hostname -in $cfg['Servers'][$i]['host'].

-
- -
- -
-
-$cfg['Servers'][$i]['socket']
-
--- - - - - - -
Type:string
Default value:''
-

The path to the socket to use. Leave blank for default. To determine -the correct socket, check your MySQL configuration or, using the -mysql command–line client, issue the status command. Among the -resulting information displayed will be the socket used.

-
-

Note

-

This takes effect only if $cfg['Servers'][$i]['host'] is set -to localhost.

-
- -
- -
-
-$cfg['Servers'][$i]['ssl']
-
--- - - - - - -
Type:boolean
Default value:false
-

Whether to enable SSL for the connection between phpMyAdmin and the MySQL -server to secure the connection.

-

When using the 'mysql' extension, -none of the remaining 'ssl...' configuration options apply.

-

We strongly recommend the 'mysqli' extension when using this option.

- -
- -
-
-$cfg['Servers'][$i]['ssl_key']
-
--- - - - - - -
Type:string
Default value:NULL
-

Path to the client key file when using SSL for connecting to the MySQL -server. This is used to authenticate the client to the server.

-

For example:

-
$cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';
-
-
- -
- -
-
-$cfg['Servers'][$i]['ssl_cert']
-
--- - - - - - -
Type:string
Default value:NULL
-

Path to the client certificate file when using SSL for connecting to the -MySQL server. This is used to authenticate the client to the server.

- -
- -
-
-$cfg['Servers'][$i]['ssl_ca']
-
--- - - - - - -
Type:string
Default value:NULL
-

Path to the CA file when using SSL for connecting to the MySQL server.

- -
- -
-
-$cfg['Servers'][$i]['ssl_ca_path']
-
--- - - - - - -
Type:string
Default value:NULL
-

Directory containing trusted SSL CA certificates in PEM format.

- -
- -
-
-$cfg['Servers'][$i]['ssl_ciphers']
-
--- - - - - - -
Type:string
Default value:NULL
-

List of allowable ciphers for SSL connections to the MySQL server.

- -
- -
-
-$cfg['Servers'][$i]['ssl_verify']
-
--- - - - - - -
Type:boolean
Default value:true
-
-

New in version 4.6.0: This is supported since phpMyAdmin 4.6.0.

-
-

If your PHP install uses the MySQL Native Driver (mysqlnd), your -MySQL server is 5.6 or later, and your SSL certificate is self-signed, -there is a chance your SSL connection will fail due to validation. -Setting this to false will disable the validation check.

-

Since PHP 5.6.0 it also verifies whether server name matches CN of its -certificate. There is currently no way to disable just this check without -disabling complete SSL verification.

-
-

Warning

-

Disabling the certificate verification defeats purpose of using SSL. -This will make the connection vulnerable to man in the middle attacks.

-
-
-

Note

-

This flag only works with PHP 5.6.16 or later.

-
- -
- -
-
-$cfg['Servers'][$i]['connect_type']
-
--- - - - - - -
Type:string
Default value:'tcp'
-
-

Deprecated since version 4.7.0: This setting is no longer used as of 4.7.0, since MySQL decides the -connection type based on host, so it could lead to unexpected results. -Please set $cfg['Servers'][$i]['host'] accordingly -instead.

-
-

What type connection to use with the MySQL server. Your options are -'socket' and 'tcp'. It defaults to tcp as that is nearly guaranteed -to be available on all MySQL servers, while sockets are not supported on -some platforms. To use the socket mode, your MySQL server must be on the -same machine as the Web server.

-
- -
-
-$cfg['Servers'][$i]['compress']
-
--- - - - - - -
Type:boolean
Default value:false
-

Whether to use a compressed protocol for the MySQL server connection -or not (experimental).

-
- -
-
-$cfg['Servers'][$i]['controlhost']
-
--- - - - - - -
Type:string
Default value:''
-

Permits to use an alternate host to hold the configuration storage -data.

- -
- -
-
-$cfg['Servers'][$i]['controlport']
-
--- - - - - - -
Type:string
Default value:''
-

Permits to use an alternate port to connect to the host that -holds the configuration storage.

- -
- -
-
-$cfg['Servers'][$i]['controluser']
-
--- - - - - - -
Type:string
Default value:''
-
- -
-
-$cfg['Servers'][$i]['controlpass']
-
--- - - - - - -
Type:string
Default value:''
-

This special account is used to access phpMyAdmin configuration storage. -You don’t need it in single user case, but if phpMyAdmin is shared it -is recommended to give access to phpMyAdmin configuration storage only to this user -and configure phpMyAdmin to use it. All users will then be able to use -the features without need to have direct access to phpMyAdmin configuration storage.

-
-

Changed in version 2.2.5: those were called stduser and stdpass

-
- -
- -
-
-$cfg['Servers'][$i]['control_*']
-
--- - - - -
Type:mixed
-
-

New in version 4.7.0.

-
-

You can change any MySQL connection setting for control link (used to -access phpMyAdmin configuration storage) using configuration prefixed with control_.

-

This can be used to change any aspect of the control connection, which by -default uses same parameters as the user one.

-

For example you can configure SSL for the control connection:

-
// Enable SSL
-$cfg['Servers'][$i]['control_ssl'] = true;
-// Client secret key
-$cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem';
-// Client certificate
-$cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem';
-// Server certification authority
-$cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';
-
-
- -
- -
-
-$cfg['Servers'][$i]['auth_type']
-
--- - - - - - -
Type:string
Default value:'cookie'
-

Whether config or cookie or HTTP or signon authentication should be -used for this server.

-
    -
  • ‘config’ authentication ($auth_type = 'config') is the plain old -way: username and password are stored in config.inc.php.
  • -
  • ‘cookie’ authentication mode ($auth_type = 'cookie') allows you to -log in as any valid MySQL user with the help of cookies.
  • -
  • ‘http’ authentication allows you to log in as any -valid MySQL user via HTTP-Auth.
  • -
  • ‘signon’ authentication mode ($auth_type = 'signon') allows you to -log in from prepared PHP session data or using supplied PHP script.
  • -
- -
- -
-
-$cfg['Servers'][$i]['auth_http_realm']
-
--- - - - - - -
Type:string
Default value:''
-

When using auth_type = http, this field allows to define a custom -HTTP Basic Auth Realm which will be displayed to the user. If not -explicitly specified in your configuration, a string combined of -“phpMyAdmin ” and either $cfg['Servers'][$i]['verbose'] or -$cfg['Servers'][$i]['host'] will be used.

-
- -
-
-$cfg['Servers'][$i]['user']
-
--- - - - - - -
Type:string
Default value:'root'
-
- -
-
-$cfg['Servers'][$i]['password']
-
--- - - - - - -
Type:string
Default value:''
-

When using $cfg['Servers'][$i]['auth_type'] set to -‘config’, this is the user/password-pair which phpMyAdmin will use to -connect to the MySQL server. This user/password pair is not needed when -HTTP or cookie authentication is used -and should be empty.

-
- -
-
-$cfg['Servers'][$i]['nopassword']
-
--- - - - - - -
Type:boolean
Default value:false
-
-

Deprecated since version 4.7.0: This setting was removed as it can produce unexpected results.

-
-

Allow attempt to log in without password when a login with password -fails. This can be used together with http authentication, when -authentication is done some other way and phpMyAdmin gets user name -from auth and uses empty password for connecting to MySQL. Password -login is still tried first, but as fallback, no password method is -tried.

-
- -
-
-$cfg['Servers'][$i]['only_db']
-
--- - - - - - -
Type:string or array
Default value:''
-

If set to a (an array of) database name(s), only this (these) -database(s) will be shown to the user. Since phpMyAdmin 2.2.1, -this/these database(s) name(s) may contain MySQL wildcards characters -(“_” and “%”): if you want to use literal instances of these -characters, escape them (I.E. use 'my\_db' and not 'my_db').

-

This setting is an efficient way to lower the server load since the -latter does not need to send MySQL requests to build the available -database list. But it does not replace the privileges rules of the -MySQL database server. If set, it just means only these databases -will be displayed but not that all other databases can’t be used.

-

An example of using more that one database:

-
$cfg['Servers'][$i]['only_db'] = array('db1', 'db2');
-
-
-
-

Changed in version 4.0.0: Previous versions permitted to specify the display order of -the database names via this directive.

-
-
- -
-
-$cfg['Servers'][$i]['hide_db']
-
--- - - - - - -
Type:string
Default value:''
-

Regular expression for hiding some databases from unprivileged users. -This only hides them from listing, but a user is still able to access -them (using, for example, the SQL query area). To limit access, use -the MySQL privilege system. For example, to hide all databases -starting with the letter “a”, use

-
$cfg['Servers'][$i]['hide_db'] = '^a';
-
-
-

and to hide both “db1” and “db2” use

-
$cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';
-
-
-

More information on regular expressions can be found in the PCRE -pattern syntax portion -of the PHP reference manual.

-
- -
-
-$cfg['Servers'][$i]['verbose']
-
--- - - - - - -
Type:string
Default value:''
-

Only useful when using phpMyAdmin with multiple server entries. If -set, this string will be displayed instead of the hostname in the -pull-down menu on the main page. This can be useful if you want to -show only certain databases on your system, for example. For HTTP -auth, all non-US-ASCII characters will be stripped.

-
- -
-
-$cfg['Servers'][$i]['extension']
-
--- - - - - - -
Type:string
Default value:'mysqli'
-
-

Deprecated since version 4.2.0: This setting was removed. The mysql extension will only be used when -the mysqli extension is not available. As of 5.0.0, only the -mysqli extension can be used.

-
-

The PHP MySQL extension to use (mysql or mysqli).

-

It is recommended to use mysqli in all installations.

-
- -
-
-$cfg['Servers'][$i]['pmadb']
-
--- - - - - - -
Type:string
Default value:''
-

The name of the database containing the phpMyAdmin configuration -storage.

-

See the phpMyAdmin configuration storage section in this document to see the benefits of -this feature, and for a quick way of creating this database and the needed -tables.

-

If you are the only user of this phpMyAdmin installation, you can use your -current database to store those special tables; in this case, just put your -current database name in $cfg['Servers'][$i]['pmadb']. For a -multi-user installation, set this parameter to the name of your central -database containing the phpMyAdmin configuration storage.

-
- -
-
-$cfg['Servers'][$i]['bookmarktable']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 2.2.0 phpMyAdmin allows users to bookmark queries. This -can be useful for queries you often run. To allow the usage of this -functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['relation']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 2.2.4 you can describe, in a special ‘relation’ table, -which column is a key in another table (a foreign key). phpMyAdmin -currently uses this to:

- -

The keys can be numeric or character.

-

To allow the usage of this functionality:

-
    -
  • set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration storage
  • -
  • put the relation table name in $cfg['Servers'][$i]['relation']
  • -
  • now as normal user open phpMyAdmin and for each one of your tables -where you want to use this feature, click Structure/Relation view/ -and choose foreign columns.
  • -
-

This feature can be disabled by setting the configuration to false.

-
-

Note

-

In the current version, master_db must be the same as foreign_db. -Those columns have been put in future development of the cross-db -relations.

-
-
- -
-
-$cfg['Servers'][$i]['table_info']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 2.3.0 you can describe, in a special ‘table_info’ -table, which column is to be displayed as a tool-tip when moving the -cursor over the corresponding key. This configuration variable will -hold the name of this special table. To allow the usage of this -functionality:

- -

This feature can be disabled by setting the configuration to false.

- -
- -
-
-$cfg['Servers'][$i]['table_coords']
-
--- - - - - - -
Type:string or false
Default value:''
-

The designer feature can save your page layout; by pressing the “Save page” or “Save page as” -button in the expanding designer menu, you can customize the layout and have it loaded the next -time you use the designer. That layout is stored in this table. Furthermore, this table is also -required for using the PDF relation export feature, see -$cfg['Servers'][$i]['pdf_pages'] for additional details.

-
- -
-
-$cfg['Servers'][$i]['pdf_pages']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 2.3.0 you can have phpMyAdmin create PDF pages -showing the relations between your tables. Further, the designer interface -permits visually managing the relations. To do this it needs two tables -“pdf_pages” (storing information about the available PDF pages) -and “table_coords” (storing coordinates where each table will be placed on -a PDF schema output). You must be using the “relation” feature.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting either of the configurations to false.

- -
- -
-
-$cfg['Servers'][$i]['column_info']
-
--- - - - - - -
Type:string or false
Default value:''
-

This part requires a content update! Since release 2.3.0 you can -store comments to describe each column for each table. These will then -be shown on the “printview”.

-

Starting with release 2.5.0, comments are consequently used on the table -property pages and table browse view, showing up as tool-tips above the -column name (properties page) or embedded within the header of table in -browse view. They can also be shown in a table dump. Please see the -relevant configuration directives later on.

-

Also new in release 2.5.0 is a MIME- transformation system which is also -based on the following table structure. See Transformations for -further information. To use the MIME- transformation system, your -column_info table has to have the three new columns ‘mimetype’, -‘transformation’, ‘transformation_options’.

-

Starting with release 4.3.0, a new input-oriented transformation system -has been introduced. Also, backward compatibility code used in the old -transformations system was removed. As a result, an update to column_info -table is necessary for previous transformations and the new input-oriented -transformation system to work. phpMyAdmin will upgrade it automatically -for you by analyzing your current column_info table structure. -However, if something goes wrong with the auto-upgrade then you can -use the SQL script found in ./sql/upgrade_column_info_4_3_0+.sql -to upgrade it manually.

-

To allow the usage of this functionality:

-
    -
  • set up $cfg['Servers'][$i]['pmadb'] and the phpMyAdmin configuration storage

    -
  • -
  • put the table name in $cfg['Servers'][$i]['column_info'] (e.g. -pma__column_info)

    -
  • -
  • to update your PRE-2.5.0 Column_comments table use this: and -remember that the Variable in config.inc.php has been renamed from -$cfg['Servers'][$i]['column_comments'] to -$cfg['Servers'][$i]['column_info']

    -
    ALTER TABLE `pma__column_comments`
    -ADD `mimetype` VARCHAR( 255 ) NOT NULL,
    -ADD `transformation` VARCHAR( 255 ) NOT NULL,
    -ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
    -
    -
    -
  • -
  • to update your PRE-4.3.0 Column_info table manually use this -./sql/upgrade_column_info_4_3_0+.sql SQL script.

    -
  • -
-

This feature can be disabled by setting the configuration to false.

-
-

Note

-

For auto-upgrade functionality to work, your -$cfg['Servers'][$i]['controluser'] must have ALTER privilege on -phpmyadmin database. See the MySQL documentation for GRANT on how to -GRANT privileges to a user.

-
-
- -
-
-$cfg['Servers'][$i]['history']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 2.5.0 you can store your SQL history, which means all -queries you entered manually into the phpMyAdmin interface. If you don’t -want to use a table-based history, you can use the JavaScript-based -history.

-

Using that, all your history items are deleted when closing the window. -Using $cfg['QueryHistoryMax'] you can specify an amount of -history items you want to have on hold. On every login, this list gets cut -to the maximum amount.

-

The query history is only available if JavaScript is enabled in -your browser.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['recent']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 3.5.0 you can show recently used tables in the -navigation panel. It helps you to jump across table directly, without -the need to select the database, and then select the table. Using -$cfg['NumRecentTables'] you can configure the maximum number -of recent tables shown. When you select a table from the list, it will jump to -the page specified in $cfg['NavigationTreeDefaultTabTable'].

-

Without configuring the storage, you can still access the recently used tables, -but it will disappear after you logout.

-

To allow the usage of this functionality persistently:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['favorite']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.2.0 you can show a list of selected tables in the -navigation panel. It helps you to jump to the table directly, without -the need to select the database, and then select the table. When you -select a table from the list, it will jump to the page specified in -$cfg['NavigationTreeDefaultTabTable'].

-

You can add tables to this list or remove tables from it in database -structure page by clicking on the star icons next to table names. Using -$cfg['NumFavoriteTables'] you can configure the maximum -number of favorite tables shown.

-

Without configuring the storage, you can still access the favorite tables, -but it will disappear after you logout.

-

To allow the usage of this functionality persistently:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['table_uiprefs']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 3.5.0 phpMyAdmin can be configured to remember several -things (sorted column $cfg['RememberSorting'], column order, -and column visibility from a database table) for browsing tables. Without -configuring the storage, these features still can be used, but the values will -disappear after you logout.

-

To allow the usage of these functionality persistently:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['users']
-
--- - - - - - -
Type:string or false
Default value:''
-
- -
-
-$cfg['Servers'][$i]['usergroups']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.1.0 you can create different user groups with menu items -attached to them. Users can be assigned to these groups and the logged in -user would only see menu items configured to the usergroup he is assigned to. -To do this it needs two tables “usergroups” (storing allowed menu items for each -user group) and “users” (storing users and their assignments to user groups).

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting either of the configurations to false.

- -
- -
-
-$cfg['Servers'][$i]['navigationhiding']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.1.0 you can hide/show items in the navigation tree.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['central_columns']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.3.0 you can have a central list of columns per database. -You can add/remove columns to the list as per your requirement. These columns -in the central list will be available to use while you create a new column for -a table or create a table itself. You can select a column from central list -while creating a new column, it will save you from writing the same column definition -over again or from writing different names for similar column.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['designer_settings']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.5.0 your designer settings can be remembered. -Your choice regarding ‘Angular/Direct Links’, ‘Snap to Grid’, ‘Toggle Relation Lines’, -‘Small/Big All’, ‘Move Menu’ and ‘Pin Text’ can be remembered persistently.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['savedsearches']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.2.0 you can save and load query-by-example searches from the Database > Query panel.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['export_templates']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 4.5.0 you can save and load export templates.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['tracking']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 3.3.x a tracking mechanism is available. It helps you to -track every SQL command which is -executed by phpMyAdmin. The mechanism supports logging of data -manipulation and data definition statements. After enabling it you can -create versions of tables.

-

The creation of a version has two effects:

-
    -
  • phpMyAdmin saves a snapshot of the table, including structure and -indexes.
  • -
  • phpMyAdmin logs all commands which change the structure and/or data of -the table and links these commands with the version number.
  • -
-

Of course you can view the tracked changes. On the Tracking -page a complete report is available for every version. For the report you -can use filters, for example you can get a list of statements within a date -range. When you want to filter usernames you can enter * for all names or -you enter a list of names separated by ‘,’. In addition you can export the -(filtered) report to a file or to a temporary database.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['tracking_version_auto_create']
-
--- - - - - - -
Type:boolean
Default value:false
-

Whether the tracking mechanism creates versions for tables and views -automatically.

-

If this is set to true and you create a table or view with

-
    -
  • CREATE TABLE ...
  • -
  • CREATE VIEW ...
  • -
-

and no version exists for it, the mechanism will create a version for -you automatically.

-
- -
-
-$cfg['Servers'][$i]['tracking_default_statements']
-
--- - - - - - -
Type:string
Default value:'CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,CREATE INDEX,DROP INDEX,INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,CREATE VIEW,ALTER VIEW,DROP VIEW,CREATE DATABASE,ALTER DATABASE,DROP DATABASE'
-

Defines the list of statements the auto-creation uses for new -versions.

-
- -
-
-$cfg['Servers'][$i]['tracking_add_drop_view']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether a DROP VIEW IF EXISTS statement will be added as first line to -the log when creating a view.

-
- -
-
-$cfg['Servers'][$i]['tracking_add_drop_table']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether a DROP TABLE IF EXISTS statement will be added as first line -to the log when creating a table.

-
- -
-
-$cfg['Servers'][$i]['tracking_add_drop_database']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether a DROP DATABASE IF EXISTS statement will be added as first -line to the log when creating a database.

-
- -
-
-$cfg['Servers'][$i]['userconfig']
-
--- - - - - - -
Type:string or false
Default value:''
-

Since release 3.4.x phpMyAdmin allows users to set most preferences by -themselves and store them in the database.

-

If you don’t allow for storing preferences in -$cfg['Servers'][$i]['pmadb'], users can still personalize -phpMyAdmin, but settings will be saved in browser’s local storage, or, it -is is unavailable, until the end of session.

-

To allow the usage of this functionality:

- -

This feature can be disabled by setting the configuration to false.

-
- -
-
-$cfg['Servers'][$i]['MaxTableUiprefs']
-
--- - - - - - -
Type:integer
Default value:100
-

Maximum number of rows saved in -$cfg['Servers'][$i]['table_uiprefs'] table.

-

When tables are dropped or renamed, -$cfg['Servers'][$i]['table_uiprefs'] may contain invalid data -(referring to tables which no longer exist). We only keep this number of newest -rows in $cfg['Servers'][$i]['table_uiprefs'] and automatically -delete older rows.

-
- -
-
-$cfg['Servers'][$i]['SessionTimeZone']
-
--- - - - - - -
Type:string
Default value:''
-

Sets the time zone used by phpMyAdmin. Leave blank to use the time zone of your -database server. Possible values are explained at -https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html

-

This is useful when your database server uses a time zone which is different from the -time zone you want to use in phpMyAdmin.

-
- -
-
-$cfg['Servers'][$i]['AllowRoot']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether to allow root access. This is just a shortcut for the -$cfg['Servers'][$i]['AllowDeny']['rules'] below.

-
- -
-
-$cfg['Servers'][$i]['AllowNoPassword']
-
--- - - - - - -
Type:boolean
Default value:false
-

Whether to allow logins without a password. The default value of -false for this parameter prevents unintended access to a MySQL -server with was left with an empty password for root or on which an -anonymous (blank) user is defined.

-
- -
-
-$cfg['Servers'][$i]['AllowDeny']['order']
-
--- - - - - - -
Type:string
Default value:''
-

If your rule order is empty, then IP -authorization is disabled.

-

If your rule order is set to -'deny,allow' then the system applies all deny rules followed by -allow rules. Access is allowed by default. Any client which does not -match a Deny command or does match an Allow command will be allowed -access to the server.

-

If your rule order is set to 'allow,deny' -then the system applies all allow rules followed by deny rules. Access -is denied by default. Any client which does not match an Allow -directive or does match a Deny directive will be denied access to the -server.

-

If your rule order is set to 'explicit', authorization is -performed in a similar fashion to rule order ‘deny,allow’, with the -added restriction that your host/username combination must be -listed in the allow rules, and not listed in the deny rules. This -is the most secure means of using Allow/Deny rules, and was -available in Apache by specifying allow and deny rules without setting -any order.

-

Please also see $cfg['TrustedProxies'] for -detecting IP address behind proxies.

-
- -
-
-$cfg['Servers'][$i]['AllowDeny']['rules']
-
--- - - - - - -
Type:array of strings
Default value:array()
-

The general format for the rules is as such:

-
<'allow' | 'deny'> <username> [from] <ipmask>
-
-
-

If you wish to match all users, it is possible to use a '%' as a -wildcard in the username field.

-

There are a few shortcuts you can -use in the ipmask field as well (please note that those containing -SERVER_ADDRESS might not be available on all webservers):

-
'all' -> 0.0.0.0/0
-'localhost' -> 127.0.0.1/8
-'localnetA' -> SERVER_ADDRESS/8
-'localnetB' -> SERVER_ADDRESS/16
-'localnetC' -> SERVER_ADDRESS/24
-
-
-

Having an empty rule list is equivalent to either using 'allow % -from all' if your rule order is set to 'deny,allow' or 'deny % -from all' if your rule order is set to 'allow,deny' or -'explicit'.

-

For the IP address matching -system, the following work:

-
    -
  • xxx.xxx.xxx.xxx (an exact IP address)
  • -
  • xxx.xxx.xxx.[yyy-zzz] (an IP address range)
  • -
  • xxx.xxx.xxx.xxx/nn (CIDR, Classless Inter-Domain Routing type IP addresses)
  • -
-

But the following does not work:

-
    -
  • xxx.xxx.xxx.xx[yyy-zzz] (partial IP address range)
  • -
-

For IPv6 addresses, the following work:

-
    -
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (an exact IPv6 address)
  • -
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] (an IPv6 address range)
  • -
  • xxxx:xxxx:xxxx:xxxx/nn (CIDR, Classless Inter-Domain Routing type IPv6 addresses)
  • -
-

But the following does not work:

-
    -
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] (partial IPv6 address range)
  • -
-

Examples:

-
$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
-$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow bob from all');
-// Allow only 'bob' to connect from any host
-
-$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
-$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow mary from 192.168.100.[50-100]');
-// Allow only 'mary' to connect from host 192.168.100.50 through 192.168.100.100
-
-$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
-$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow % from 192.168.[5-6].10');
-// Allow any user to connect from host 192.168.5.10 or 192.168.6.10
-
-$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
-$cfg['Servers'][$i]['AllowDeny']['rules'] = array('allow root from 192.168.5.50','allow % from 192.168.6.10');
-// Allow any user to connect from 192.168.6.10, and additionally allow root to connect from 192.168.5.50
-
-
-
- -
-
-$cfg['Servers'][$i]['DisableIS']
-
--- - - - - - -
Type:boolean
Default value:false
-

Disable using INFORMATION_SCHEMA to retrieve information (use -SHOW commands instead), because of speed issues when many -databases are present.

-
-

Note

-

Enabling this option might give you a big performance boost on older -MySQL servers.

-
-
- -
-
-$cfg['Servers'][$i]['SignonScript']
-
--- - - - - - -
Type:string
Default value:''
-
-

New in version 3.5.0.

-
-

Name of PHP script to be sourced and executed to obtain login -credentials. This is alternative approach to session based single -signon. The script has to provide a function called -get_login_credentials which returns list of username and -password, accepting single parameter of existing username (can be -empty). See examples/signon-script.php for an example:

-
<?php
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * Single signon for phpMyAdmin
- *
- * This is just example how to use script based single signon with
- * phpMyAdmin, it is not intended to be perfect code and look, only
- * shows how you can integrate this functionality in your application.
- *
- * @package    PhpMyAdmin
- * @subpackage Example
- */
-declare(strict_types=1);
-
-/**
- * This function returns username and password.
- *
- * It can optionally use configured username as parameter.
- *
- * @param string $user User name
- *
- * @return array
- */
-function get_login_credentials($user)
-{
-    /* Optionally we can use passed username */
-    if (! empty($user)) {
-        return [
-            $user,
-            'password',
-        ];
-    }
-
-    /* Here we would retrieve the credentials */
-    return [
-        'root',
-        '',
-    ];
-}
-
-
- -
- -
-
-$cfg['Servers'][$i]['SignonSession']
-
--- - - - - - -
Type:string
Default value:''
-

Name of session which will be used for signon authentication method. -You should use something different than phpMyAdmin, because this -is session which phpMyAdmin uses internally. Takes effect only if -$cfg['Servers'][$i]['SignonScript'] is not configured.

- -
- -
-
-$cfg['Servers'][$i]['SignonCookieParams']
-
--- - - - - - -
Type:array
Default value:array()
-
-

New in version 4.7.0.

-
-

An associative array of session cookie parameters of other authentication system. -It is not needed if the other system doesn’t use session_set_cookie_params(). -Keys should include ‘lifetime’, ‘path’, ‘domain’, ‘secure’ or ‘httponly’. -Valid values are mentioned in session_get_cookie_params, they should be set to same values as the -other application uses. Takes effect only if -$cfg['Servers'][$i]['SignonScript'] is not configured.

- -
- -
-
-$cfg['Servers'][$i]['SignonURL']
-
--- - - - - - -
Type:string
Default value:''
-

URL where user will be redirected -to log in for signon authentication method. Should be absolute -including protocol.

- -
- -
-
-$cfg['Servers'][$i]['LogoutURL']
-
--- - - - - - -
Type:string
Default value:''
-

URL where user will be redirected -after logout (doesn’t affect config authentication method). Should be -absolute including protocol.

-
- -
-
-

Generic settings

-
-
-$cfg['DisableShortcutKeys']
-
--- - - - - - -
Type:boolean
Default value:false
-

You can disable phpMyAdmin shortcut keys by setting $cfg['DisableShortcutKeys'] to false.

-
- -
-
-$cfg['ServerDefault']
-
--- - - - - - -
Type:integer
Default value:1
-

If you have more than one server configured, you can set -$cfg['ServerDefault'] to any one of them to autoconnect to that -server when phpMyAdmin is started, or set it to 0 to be given a list -of servers without logging in.

-

If you have only one server configured, -$cfg['ServerDefault'] MUST be set to that server.

-
- -
-
-$cfg['VersionCheck']
-
--- - - - - - -
Type:boolean
Default value:true
-

Enables check for latest versions using JavaScript on the main phpMyAdmin -page or by directly accessing version_check.php.

-
-

Note

-

This setting can be adjusted by your vendor.

-
-
- -
-
-$cfg['ProxyUrl']
-
--- - - - - - -
Type:string
Default value:“”
-

The url of the proxy to be used when phpmyadmin needs to access the outside -internet such as when retrieving the latest version info or submitting error -reports. You need this if the server where phpMyAdmin is installed does not -have direct access to the internet. -The format is: “hostname:portnumber”

-
- -
-
-$cfg['ProxyUser']
-
--- - - - - - -
Type:string
Default value:“”
-

The username for authenticating with the proxy. By default, no -authentication is performed. If a username is supplied, Basic -Authentication will be performed. No other types of authentication -are currently supported.

-
- -
-
-$cfg['ProxyPass']
-
--- - - - - - -
Type:string
Default value:“”
-

The password for authenticating with the proxy.

-
- -
-
-$cfg['MaxDbList']
-
--- - - - - - -
Type:integer
Default value:100
-

The maximum number of database names to be displayed in the main panel’s -database list.

-
- -
-
-$cfg['MaxTableList']
-
--- - - - - - -
Type:integer
Default value:250
-

The maximum number of table names to be displayed in the main panel’s -list (except on the Export page).

-
- -
-
-$cfg['ShowHint']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether or not to show hints (for example, hints when hovering over -table headers).

-
- -
-
-$cfg['MaxCharactersInDisplayedSQL']
-
--- - - - - - -
Type:integer
Default value:1000
-

The maximum number of characters when a SQL query is displayed. The -default limit of 1000 should be correct to avoid the display of tons of -hexadecimal codes that represent BLOBs, but some users have real -SQL queries that are longer than 1000 characters. Also, if a -query’s length exceeds this limit, this query is not saved in the history.

-
- -
-
-$cfg['PersistentConnections']
-
--- - - - - - -
Type:boolean
Default value:false
-

Whether persistent connections should be used or not. Works with -following extensions:

- -
- -
-
-$cfg['ForceSSL']
-
--- - - - - - -
Type:boolean
Default value:false
-
-

Deprecated since version 4.6.0: This setting is no longer available since phpMyAdmin 4.6.0. Please -adjust your webserver instead.

-
-

Whether to force using https while accessing phpMyAdmin. In a reverse -proxy setup, setting this to true is not supported.

-
-

Note

-

In some setups (like separate SSL proxy or load balancer) you might -have to set $cfg['PmaAbsoluteUri'] for correct -redirection.

-
-
- -
-
-$cfg['ExecTimeLimit']
-
--- - - - - - -
Type:integer [number of seconds]
Default value:300
-

Set the number of seconds a script is allowed to run. If seconds is -set to zero, no time limit is imposed. This setting is used while -importing/exporting dump files but has -no effect when PHP is running in safe mode.

-
- -
-
-$cfg['SessionSavePath']
-
--- - - - - - -
Type:string
Default value:''
-

Path for storing session data (session_save_path PHP parameter).

-
-

Warning

-

This folder should not be publicly accessible through the webserver, -otherwise you risk leaking private data from your session.

-
-
- -
-
-$cfg['MemoryLimit']
-
--- - - - - - -
Type:string [number of bytes]
Default value:'-1'
-

Set the number of bytes a script is allowed to allocate. If set to -'-1', no limit is imposed. If set to '0', no change of the -memory limit is attempted and the php.ini memory_limit is -used.

-

This setting is used while importing/exporting dump files -so you definitely don’t want to put here a too low -value. It has no effect when PHP is running in safe mode.

-

You can also use any string as in php.ini, eg. ‘16M’. Ensure you -don’t omit the suffix (16 means 16 bytes!)

-
- -
-
-$cfg['SkipLockedTables']
-
--- - - - - - -
Type:boolean
Default value:false
-

Mark used tables and make it possible to show databases with locked -tables (since MySQL 3.23.30).

-
- -
-
-$cfg['ShowSQL']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether SQL queries -generated by phpMyAdmin should be displayed or not.

-
- -
-
-$cfg['RetainQueryBox']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether the SQL query box -should be kept displayed after its submission.

-
- -
-
-$cfg['CodemirrorEnable']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to use a Javascript code editor for SQL query boxes. -CodeMirror provides syntax highlighting and line numbers. However, -middle-clicking for pasting the clipboard contents in some Linux -distributions (such as Ubuntu) is not supported by all browsers.

-
- -
-
-$cfg['DefaultForeignKeyChecks']
-
--- - - - - - -
Type:string
Default value:'default'
-

Default value of the checkbox for foreign key checks, to disable/enable -foreign key checks for certain queries. The possible values are 'default', -'enable' or 'disable'. If set to 'default', the value of the -MySQL variable FOREIGN_KEY_CHECKS is used.

-
- -
-
-$cfg['AllowUserDropDatabase']
-
--- - - - - - -
Type:boolean
Default value:false
-
-

Warning

-

This is not a security measure as there will be always ways to -circumvent this. If you want to prohibit users from dropping databases, -revoke their corresponding DROP privilege.

-
-

Defines whether normal users (non-administrator) are allowed to delete -their own database or not. If set as false, the link Drop -Database will not be shown, and even a DROP DATABASE mydatabase will -be rejected. Quite practical for ISP ‘s with many customers.

-

This limitation of SQL queries is not as strict as when using MySQL -privileges. This is due to nature of SQL queries which might be -quite complicated. So this choice should be viewed as help to avoid -accidental dropping rather than strict privilege limitation.

-
- -
-
-$cfg['Confirm']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether a warning (“Are your really sure...”) should be displayed when -you’re about to lose data.

-
- -
-
-$cfg['UseDbSearch']
-
--- - - - - - -
Type:boolean
Default value:true
-

Define whether the “search string inside database” is enabled or not.

-
- -
-
-$cfg['IgnoreMultiSubmitErrors']
-
--- - - - - - -
Type:boolean
Default value:false
-

Define whether phpMyAdmin will continue executing a multi-query -statement if one of the queries fails. Default is to abort execution.

-
- -
-
-$cfg['enable_drag_drop_import']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether or not the drag and drop import feature is enabled. -When enabled, a user can drag a file in to their browser and phpMyAdmin will -attempt to import the file.

-
- -
- - -
-

Main panel

-
-
-$cfg['ShowStats']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether or not to display space usage and statistics about -databases and tables. Note that statistics requires at least MySQL -3.23.3 and that, at this date, MySQL doesn’t return such information -for Berkeley DB tables.

-
- -
-
-$cfg['ShowServerInfo']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to display detailed server information on main page. -You can additionally hide more information by using -$cfg['Servers'][$i]['verbose'].

-
- -
-
-$cfg['ShowPhpInfo']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether to display the PHP information or not at -the starting main (right) frame.

-

Please note that to block the usage of phpinfo() in scripts, you have to -put this in your php.ini:

-
disable_functions = phpinfo()
-
-
-
-

Warning

-

Enabling phpinfo page will leak quite a lot of information about server -setup. Is it not recommended to enable this on shared installations.

-

This might also make easier some remote attacks on your installations, -so enable this only when needed.

-
-
- -
-
-$cfg['ShowChgPassword']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to display the Change password link or not at -the starting main (right) frame. This setting does not check MySQL commands -entered directly.

-

Please note that enabling the Change password link has no effect -with config authentication mode: because of the hard coded password value -in the configuration file, end users can’t be allowed to change their -passwords.

-
- -
-
-$cfg['ShowCreateDb']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to display the form for creating database or not at the -starting main (right) frame. This setting does not check MySQL commands -entered directly.

-
- -
-
-$cfg['ShowGitRevision']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to display informations about the current Git revision (if -applicable) on the main panel.

-
- -
-
-$cfg['MysqlMinVersion']
-
--- - - - -
Type:array
-

Defines the minimum supported MySQL version. The default is chosen -by the phpMyAdmin team; however this directive was asked by a developer -of the Plesk control panel to ease integration with older MySQL servers -(where most of the phpMyAdmin features work).

-
- -
-
-

Database structure

-
-
-$cfg['ShowDbStructureCreation']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether the database structure page (tables list) has a -“Creation” column that displays when each table was created.

-
- -
-
-$cfg['ShowDbStructureLastUpdate']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether the database structure page (tables list) has a “Last -update” column that displays when each table was last updated.

-
- -
-
-$cfg['ShowDbStructureLastCheck']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether the database structure page (tables list) has a “Last -check” column that displays when each table was last checked.

-
- -
-
-$cfg['HideStructureActions']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether the table structure actions are hidden under a “More” -drop-down.

-
- -
-
-$cfg['ShowColumnComments']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to show column comments as a column in the table structure view.

-
- -
-
-

Browse mode

-
-
-$cfg['TableNavigationLinksMode']
-
--- - - - - - -
Type:string
Default value:'icons'
-

Defines whether the table navigation links contain 'icons', 'text' -or 'both'.

-
- -
-
-$cfg['ActionLinksMode']
-
--- - - - - - -
Type:string
Default value:'both'
-

If set to icons, will display icons instead of text for db and table -properties links (like Browse, Select, -Insert, ...). Can be set to 'both' -if you want icons AND text. When set to text, will only show text.

-
- -
-
-$cfg['RowActionType']
-
--- - - - - - -
Type:string
Default value:'both'
-

Whether to display icons or text or both icons and text in table row action -segment. Value can be either of 'icons', 'text' or 'both'.

-
- -
-
-$cfg['ShowAll']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether a user should be displayed a “Show all” button in browse -mode or not in all cases. By default it is shown only on small tables (less -than 500 rows) to avoid performance issues while getting too many rows.

-
- -
-
-$cfg['MaxRows']
-
--- - - - - - -
Type:integer
Default value:25
-

Number of rows displayed when browsing a result set and no LIMIT -clause is used. If the result set contains more rows, “Previous” and -“Next” links will be shown. Possible values: 25,50,100,250,500.

-
- -
-
-$cfg['Order']
-
--- - - - - - -
Type:string
Default value:'SMART'
-

Defines whether columns are displayed in ascending (ASC) order, in -descending (DESC) order or in a “smart” (SMART) order - I.E. -descending order for columns of type TIME, DATE, DATETIME and -TIMESTAMP, ascending order else- by default.

-
-

Changed in version 3.4.0: Since phpMyAdmin 3.4.0 the default value is 'SMART'.

-
-
- -
-
-$cfg['GridEditing']
-
--- - - - - - -
Type:string
Default value:'double-click'
-

Defines which action (double-click or click) triggers grid -editing. Can be deactivated with the disabled value.

-
- -
-
-$cfg['RelationalDisplay']
-
--- - - - - - -
Type:string
Default value:'K'
-

Defines the initial behavior for Options > Relational. K, which -is the default, displays the key while D shows the display column.

-
- -
-
-$cfg['SaveCellsAtOnce']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether or not to save all edited cells at once for grid -editing.

-
- -
-
-

Editing mode

-
-
-$cfg['ProtectBinary']
-
--- - - - - - -
Type:boolean or string
Default value:'blob'
-

Defines whether BLOB or BINARY columns are protected from -editing when browsing a table’s content. Valid values are:

-
    -
  • false to allow editing of all columns;
  • -
  • 'blob' to allow editing of all columns except BLOBS;
  • -
  • 'noblob' to disallow editing of all columns except BLOBS (the -opposite of 'blob');
  • -
  • 'all' to disallow editing of all BINARY or BLOB columns.
  • -
-
- -
-
-$cfg['ShowFunctionFields']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether or not MySQL functions fields should be initially -displayed in edit/insert mode. Since version 2.10, the user can toggle -this setting from the interface.

-
- -
-
-$cfg['ShowFieldTypesInDataEditView']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether or not type fields should be initially displayed in -edit/insert mode. The user can toggle this setting from the interface.

-
- -
-
-$cfg['InsertRows']
-
--- - - - - - -
Type:integer
Default value:2
-

Defines the default number of rows to be entered from the Insert page. -Users can manually change this from the bottom of that page to add or remove -blank rows.

-
- -
-
-$cfg['ForeignKeyMaxLimit']
-
--- - - - - - -
Type:integer
Default value:100
-

If there are fewer items than this in the set of foreign keys, then a -drop-down box of foreign keys is presented, in the style described by -the $cfg['ForeignKeyDropdownOrder'] setting.

-
- -
-
-$cfg['ForeignKeyDropdownOrder']
-
--- - - - - - -
Type:array
Default value:array(‘content-id’, ‘id-content’)
-

For the foreign key drop-down fields, there are several methods of -display, offering both the key and value data. The contents of the -array should be one or both of the following strings: content-id, -id-content.

-
- -
-
-

Export and import settings

-
-
-$cfg['ZipDump']
-
--- - - - - - -
Type:boolean
Default value:true
-
- -
-
-$cfg['GZipDump']
-
--- - - - - - -
Type:boolean
Default value:true
-
- -
-
-$cfg['BZipDump']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to allow the use of zip/GZip/BZip2 compression when -creating a dump file

-
- -
-
-$cfg['CompressOnFly']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether to allow on the fly compression for GZip/BZip2 -compressed exports. This doesn’t affect smaller dumps and allows users -to create larger dumps that won’t otherwise fit in memory due to php -memory limit. Produced files contain more GZip/BZip2 headers, but all -normal programs handle this correctly.

-
- -
-
-$cfg['Export']
-
--- - - - - - -
Type:array
Default value:array(...)
-

In this array are defined default parameters for export, names of -items are similar to texts seen on export page, so you can easily -identify what they mean.

-
- -
-
-$cfg['Export']['format']
-
--- - - - - - -
Type:string
Default value:'sql'
-

Default export format.

-
- -
-
-$cfg['Export']['method']
-
--- - - - - - -
Type:string
Default value:'quick'
-

Defines how the export form is displayed when it loads. Valid values -are:

-
    -
  • quick to display the minimum number of options to configure
  • -
  • custom to display every available option to configure
  • -
  • custom-no-form same as custom but does not display the option -of using quick export
  • -
-
- -
-
-$cfg['Export']['charset']
-
--- - - - - - -
Type:string
Default value:''
-

Defines charset for generated export. By default no charset conversion is -done assuming UTF-8.

-
- -
-
-$cfg['Export']['file_template_table']
-
--- - - - - - -
Type:string
Default value:'@TABLE@'
-

Default filename template for table exports.

- -
- -
-
-$cfg['Export']['file_template_database']
-
--- - - - - - -
Type:string
Default value:'@DATABASE@'
-

Default filename template for database exports.

- -
- -
-
-$cfg['Export']['file_template_server']
-
--- - - - - - -
Type:string
Default value:'@SERVER@'
-

Default filename template for server exports.

- -
- -
-
-$cfg['Import']
-
--- - - - - - -
Type:array
Default value:array(...)
-

In this array are defined default parameters for import, names of -items are similar to texts seen on import page, so you can easily -identify what they mean.

-
- -
-
-$cfg['Import']['charset']
-
--- - - - - - -
Type:string
Default value:''
-

Defines charset for import. By default no charset conversion is done -assuming UTF-8.

-
- -
-
-

Tabs display settings

-
-
-$cfg['TabsMode']
-
--- - - - - - -
Type:string
Default value:'both'
-

Defines whether the menu tabs contain 'icons', 'text' or 'both'.

-
- -
-
-$cfg['PropertiesNumColumns']
-
--- - - - - - -
Type:integer
Default value:1
-

How many columns will be utilized to display the tables on the database -property view? When setting this to a value larger than 1, the type of the -database will be omitted for more display space.

-
- -
-
-$cfg['DefaultTabServer']
-
--- - - - - - -
Type:string
Default value:'welcome'
-

Defines the tab displayed by default on server view. The possible values -are the localized equivalent of:

-
    -
  • welcome (recommended for multi-user setups)
  • -
  • databases,
  • -
  • status
  • -
  • variables
  • -
  • privileges
  • -
-
- -
-
-$cfg['DefaultTabDatabase']
-
--- - - - - - -
Type:string
Default value:'structure'
-

Defines the tab displayed by default on database view. The possible values -are the localized equivalent of:

-
    -
  • structure
  • -
  • sql
  • -
  • search
  • -
  • operations
  • -
-
- -
-
-$cfg['DefaultTabTable']
-
--- - - - - - -
Type:string
Default value:'browse'
-

Defines the tab displayed by default on table view. The possible values -are the localized equivalent of:

-
    -
  • structure
  • -
  • sql
  • -
  • search
  • -
  • insert
  • -
  • browse
  • -
-
- -
-
-

PDF Options

-
-
-$cfg['PDFPageSizes']
-
--- - - - - - -
Type:array
Default value:array('A3', 'A4', 'A5', 'letter', 'legal')
-

Array of possible paper sizes for creating PDF pages.

-

You should never need to change this.

-
- -
-
-$cfg['PDFDefaultPageSize']
-
--- - - - - - -
Type:string
Default value:'A4'
-

Default page size to use when creating PDF pages. Valid values are any -listed in $cfg['PDFPageSizes'].

-
- -
-
-

Languages

-
-
-$cfg['DefaultLang']
-
--- - - - - - -
Type:string
Default value:'en'
-

Defines the default language to use, if not browser-defined or user- -defined. The corresponding language file needs to be in -locale/code/LC_MESSAGES/phpmyadmin.mo.

-
- -
-
-$cfg['DefaultConnectionCollation']
-
--- - - - - - -
Type:string
Default value:'utf8mb4_general_ci'
-

Defines the default connection collation to use, if not user-defined. -See the MySQL documentation for charsets -for list of possible values.

-
- -
-
-$cfg['Lang']
-
--- - - - - - -
Type:string
Default value:not set
-

Force language to use. The corresponding language file needs to be in -locale/code/LC_MESSAGES/phpmyadmin.mo.

-
- -
-
-$cfg['FilterLanguages']
-
--- - - - - - -
Type:string
Default value:''
-

Limit list of available languages to those matching the given regular -expression. For example if you want only Czech and English, you should -set filter to '^(cs|en)'.

-
- -
-
-$cfg['RecodingEngine']
-
--- - - - - - -
Type:string
Default value:'auto'
-

You can select here which functions will be used for character set -conversion. Possible values are:

-
    -
  • auto - automatically use available one (first is tested iconv, then -recode)
  • -
  • iconv - use iconv or libiconv functions
  • -
  • recode - use recode_string function
  • -
  • mb - use mbstring extension
  • -
  • none - disable encoding conversion
  • -
-

Enabled charset conversion activates a pull-down menu in the Export -and Import pages, to choose the character set when exporting a file. -The default value in this menu comes from -$cfg['Export']['charset'] and $cfg['Import']['charset'].

-
- -
-
-$cfg['IconvExtraParams']
-
--- - - - - - -
Type:string
Default value:'//TRANSLIT'
-

Specify some parameters for iconv used in charset conversion. See -iconv documentation for details. By default -//TRANSLIT is used, so that invalid characters will be -transliterated.

-
- -
-
-$cfg['AvailableCharsets']
-
--- - - - - - -
Type:array
Default value:array(...)
-

Available character sets for MySQL conversion. You can add your own -(any of supported by recode/iconv) or remove these which you don’t -use. Character sets will be shown in same order as here listed, so if -you frequently use some of these move them to the top.

-
- -
-
-

Web server settings

-
-
-$cfg['OBGzip']
-
--- - - - - - -
Type:string/boolean
Default value:'auto'
-

Defines whether to use GZip output buffering for increased speed in -HTTP transfers. Set to -true/false for enabling/disabling. When set to ‘auto’ (string), -phpMyAdmin tries to enable output buffering and will automatically -disable it if your browser has some problems with buffering. IE6 with -a certain patch is known to cause data corruption when having enabled -buffering.

-
- -
-
-$cfg['TrustedProxies']
-
--- - - - - - -
Type:array
Default value:array()
-

Lists proxies and HTTP headers which are trusted for -$cfg['Servers'][$i]['AllowDeny']['order']. This list is by -default empty, you need to fill in some trusted proxy servers if you -want to use rules for IP addresses behind proxy.

-

The following example specifies that phpMyAdmin should trust a -HTTP_X_FORWARDED_FOR (X-Forwarded-For) header coming from the proxy -1.2.3.4:

-
$cfg['TrustedProxies'] = array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR');
-
-
-

The $cfg['Servers'][$i]['AllowDeny']['rules'] directive uses the -client’s IP address as usual.

-
- -
-
-$cfg['GD2Available']
-
--- - - - - - -
Type:string
Default value:'auto'
-

Specifies whether GD >= 2 is available. If yes it can be used for MIME -transformations. Possible values are:

-
    -
  • auto - automatically detect
  • -
  • yes - GD 2 functions can be used
  • -
  • no - GD 2 function cannot be used
  • -
-
- -
-
-$cfg['CheckConfigurationPermissions']
-
--- - - - - - -
Type:boolean
Default value:true
-

We normally check the permissions on the configuration file to ensure -it’s not world writable. However, phpMyAdmin could be installed on a -NTFS filesystem mounted on a non-Windows server, in which case the -permissions seems wrong but in fact cannot be detected. In this case a -sysadmin would set this parameter to false.

-
- -
-
-$cfg['LinkLengthLimit']
-
--- - - - - - -
Type:integer
Default value:1000
-

Limit for length of URL in links. When length would be above this -limit, it is replaced by form with button. This is required as some web -servers (IIS) have problems with long URL .

-
- -
-
-$cfg['CSPAllow']
-
--- - - - - - -
Type:string
Default value:''
-

Additional string to include in allowed script and image sources in Content -Security Policy header.

-

This can be useful when you want to include some external JavaScript files -in config.footer.inc.php or config.header.inc.php, which -would be normally not allowed by Content Security Policy.

-

To allow some sites, just list them within the string:

-
$cfg['CSPAllow'] = 'example.com example.net';
-
-
-
-

New in version 4.0.4.

-
-
- -
-
-$cfg['DisableMultiTableMaintenance']
-
--- - - - - - -
Type:boolean
Default value:false
-

In the database Structure page, it’s possible to mark some tables then -choose an operation like optimizing for many tables. This can slow -down a server; therefore, setting this to true prevents this kind -of multiple maintenance operation.

-
- -
-
-

Theme settings

-
-
Please directly modify themes/themename/layout.inc.php, although -your changes will be overwritten with the next update.
-
-
-

Design customization

-
-
-$cfg['NavigationTreePointerEnable']
-
--- - - - - - -
Type:boolean
Default value:true
-

When set to true, hovering over an item in the navigation panel causes that item to be marked -(the background is highlighted).

-
- -
-
-$cfg['BrowsePointerEnable']
-
--- - - - - - -
Type:boolean
Default value:true
-

When set to true, hovering over a row in the Browse page causes that row to be marked (the background -is highlighted).

-
- -
-
-$cfg['BrowseMarkerEnable']
-
--- - - - - - -
Type:boolean
Default value:true
-

When set to true, a data row is marked (the background is highlighted) when the row is selected -with the checkbox.

-
- -
-
-$cfg['LimitChars']
-
--- - - - - - -
Type:integer
Default value:50
-

Maximum number of characters shown in any non-numeric field on browse -view. Can be turned off by a toggle button on the browse page.

-
- -
- -
--- - - - - - -
Type:string
Default value:'left'
-

Defines the place where table row links (Edit, Copy, Delete) would be -put when tables contents are displayed (you may have them displayed at -the left side, right side, both sides or nowhere).

-
- -
-
-$cfg['RowActionLinksWithoutUnique']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines whether to show row links (Edit, Copy, Delete) and checkboxes -for multiple row operations even when the selection does not have a unique key. -Using row actions in the absence of a unique key may result in different/more -rows being affected since there is no guaranteed way to select the exact row(s).

-
- -
-
-$cfg['RememberSorting']
-
--- - - - - - -
Type:boolean
Default value:true
-

If enabled, remember the sorting of each table when browsing them.

-
- -
-
-$cfg['TablePrimaryKeyOrder']
-
--- - - - - - -
Type:string
Default value:'NONE'
-

This defines the default sort order for the tables, having a primary key, -when there is no sort order defines externally. -Acceptable values : [‘NONE’, ‘ASC’, ‘DESC’]

-
- -
-
-$cfg['ShowBrowseComments']
-
--- - - - - - -
Type:boolean
Default value:true
-
- -
-
-$cfg['ShowPropertyComments']
-
--- - - - - - -
Type:boolean
Default value:true
-

By setting the corresponding variable to true you can enable the -display of column comments in Browse or Property display. In browse -mode, the comments are shown inside the header. In property mode, -comments are displayed using a CSS-formatted dashed-line below the -name of the column. The comment is shown as a tool-tip for that -column.

-
- -
-
-

Text fields

-
-
-$cfg['CharEditing']
-
--- - - - - - -
Type:string
Default value:'input'
-

Defines which type of editing controls should be used for CHAR and -VARCHAR columns. Applies to data editing and also to the default values -in structure editing. Possible values are:

-
    -
  • input - this allows to limit size of text to size of columns in MySQL, -but has problems with newlines in columns
  • -
  • textarea - no problems with newlines in columns, but also no length -limitations
  • -
-
- -
-
-$cfg['MinSizeForInputField']
-
--- - - - - - -
Type:integer
Default value:4
-

Defines the minimum size for input fields generated for CHAR and -VARCHAR columns.

-
- -
-
-$cfg['MaxSizeForInputField']
-
--- - - - - - -
Type:integer
Default value:60
-

Defines the maximum size for input fields generated for CHAR and -VARCHAR columns.

-
- -
-
-$cfg['TextareaCols']
-
--- - - - - - -
Type:integer
Default value:40
-
- -
-
-$cfg['TextareaRows']
-
--- - - - - - -
Type:integer
Default value:15
-
- -
-
-$cfg['CharTextareaCols']
-
--- - - - - - -
Type:integer
Default value:40
-
- -
-
-$cfg['CharTextareaRows']
-
--- - - - - - -
Type:integer
Default value:2
-

Number of columns and rows for the textareas. This value will be -emphasized (*2) for SQL query -textareas and (*1.25) for SQL -textareas inside the query window.

-

The Char* values are used for CHAR -and VARCHAR editing (if configured via $cfg['CharEditing']).

-
- -
-
-$cfg['LongtextDoubleTextarea']
-
--- - - - - - -
Type:boolean
Default value:true
-

Defines whether textarea for LONGTEXT columns should have double size.

-
- -
-
-$cfg['TextareaAutoSelect']
-
--- - - - - - -
Type:boolean
Default value:false
-

Defines if the whole textarea of the query box will be selected on -click.

-
- -
-
-$cfg['EnableAutocompleteForTablesAndColumns']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether to enable autocomplete for table and column names in any -SQL query box.

-
- -
-
-

SQL query box settings

-
-
-$cfg['SQLQuery']['Edit']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether to display an edit link to change a query in any SQL Query -box.

-
- -
-
-$cfg['SQLQuery']['Explain']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether to display a link to explain a SELECT query in any SQL Query -box.

-
- -
-
-$cfg['SQLQuery']['ShowAsPHP']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether to display a link to wrap a query in PHP code in any SQL Query -box.

-
- -
-
-$cfg['SQLQuery']['Refresh']
-
--- - - - - - -
Type:boolean
Default value:true
-

Whether to display a link to refresh a query in any SQL Query box.

-
- -
-
-

Web server upload/save/import directories

-

If PHP is running in safe mode, all directories must be owned by the same user -as the owner of the phpMyAdmin scripts.

-

If the directory where phpMyAdmin is installed is subject to an -open_basedir restriction, you need to create a temporary directory in some -directory accessible by the PHP interpreter.

-

For security reasons, all directories should be outside the tree published by -webserver. If you cannot avoid having this directory published by webserver, -limit access to it either by web server configuration (for example using -.htaccess or web.config files) or place at least an empty index.html -file there, so that directory listing is not possible. However as long as the -directory is accessible by web server, an attacker can guess filenames to download -the files.

-
-
-$cfg['UploadDir']
-
--- - - - - - -
Type:string
Default value:''
-

The name of the directory where SQL files have been uploaded by -other means than phpMyAdmin (for example, FTP). Those files are available -under a drop-down box when you click the database or table name, then the -Import tab.

-

If -you want different directory for each user, %u will be replaced with -username.

-

Please note that the file names must have the suffix ”.sql” -(or ”.sql.bz2” or ”.sql.gz” if support for compressed formats is -enabled).

-

This feature is useful when your file is too big to be -uploaded via HTTP, or when file -uploads are disabled in PHP.

-
-

Warning

-

Please see top of this chapter (Web server upload/save/import directories) for instructions how -to setup this directory and how to make its usage secure.

-
- -
- -
-
-$cfg['SaveDir']
-
--- - - - - - -
Type:string
Default value:''
-

The name of the webserver directory where exported files can be saved.

-

If you want a different directory for each user, %u will be replaced with the -username.

-

Please note that the directory must exist and has to be writable for -the user running webserver.

-
-

Warning

-

Please see top of this chapter (Web server upload/save/import directories) for instructions how -to setup this directory and how to make its usage secure.

-
-
- -
-
-$cfg['TempDir']
-
--- - - - - - -
Type:string
Default value:'./tmp/'
-

The name of the directory where temporary files can be stored. It is used -for several purposes, currently:

- -

This directory should have as strict permissions as possible as the only -user required to access this directory is the one who runs the webserver. -If you have root privileges, simply make this user owner of this directory -and make it accessible only by it:

-
chown www-data:www-data tmp
-chmod 700 tmp
-
-
-

If you cannot change owner of the directory, you can achieve a similar -setup using ACL:

-
chmod 700 tmp
-setfacl -m "g:www-data:rwx" tmp
-setfacl -d -m "g:www-data:rwx" tmp
-
-
-

If neither of above works for you, you can still make the directory -chmod 777, but it might impose risk of other users on system -reading and writing data in this directory.

-
-

Warning

-

Please see top of this chapter (Web server upload/save/import directories) for instructions how -to setup this directory and how to make its usage secure.

-
-
- -
-
-

Various display setting

-
-
-$cfg['RepeatCells']
-
--- - - - - - -
Type:integer
Default value:100
-

Repeat the headers every X cells, or 0 to deactivate.

-
- -
-
-$cfg['QueryHistoryDB']
-
--- - - - - - -
Type:boolean
Default value:false
-
- -
-
-$cfg['QueryHistoryMax']
-
--- - - - - - -
Type:integer
Default value:25
-

If $cfg['QueryHistoryDB'] is set to true, all your -Queries are logged to a table, which has to be created by you (see -$cfg['Servers'][$i]['history']). If set to false, all your -queries will be appended to the form, but only as long as your window is -opened they remain saved.

-

When using the JavaScript based query window, it will always get updated -when you click on a new table/db to browse and will focus if you click on -Edit SQL after using a query. You can suppress updating the -query window by checking the box Do not overwrite this query -from outside the window below the query textarea. Then you can browse -tables/databases in the background without losing the contents of the -textarea, so this is especially useful when composing a query with tables -you first have to look in. The checkbox will get automatically checked -whenever you change the contents of the textarea. Please uncheck the button -whenever you definitely want the query window to get updated even though -you have made alterations.

-

If $cfg['QueryHistoryDB'] is set to true you can -specify the amount of saved history items using -$cfg['QueryHistoryMax'].

-
- -
-
-$cfg['BrowseMIME']
-
--- - - - - - -
Type:boolean
Default value:true
-

Enable Transformations.

-
- -
-
-$cfg['MaxExactCount']
-
--- - - - - - -
Type:integer
Default value:50000
-

For InnoDB tables, determines for how large tables phpMyAdmin should -get the exact row count using SELECT COUNT. If the approximate row -count as returned by SHOW TABLE STATUS is smaller than this value, -SELECT COUNT will be used, otherwise the approximate count will be -used.

-
-

Changed in version 4.8.0: The default value was lowered to 50000 for performance reasons.

-
-
-

Changed in version 4.2.6: The default value was changed to 500000.

-
- -
- -
-
-$cfg['MaxExactCountViews']
-
--- - - - - - -
Type:integer
Default value:0
-

For VIEWs, since obtaining the exact count could have an impact on -performance, this value is the maximum to be displayed, using a -SELECT COUNT ... LIMIT. Setting this to 0 bypasses any row -counting.

-
- -
-
-$cfg['NaturalOrder']
-
--- - - - - - -
Type:boolean
Default value:true
-

Sorts database and table names according to natural order (for -example, t1, t2, t10). Currently implemented in the navigation panel -and in Database view, for the table list.

-
- -
-
-$cfg['InitialSlidersState']
-
--- - - - - - -
Type:string
Default value:'closed'
-

If set to 'closed', the visual sliders are initially in a closed -state. A value of 'open' does the reverse. To completely disable -all visual sliders, use 'disabled'.

-
- -
-
-$cfg['UserprefsDisallow']
-
--- - - - - - -
Type:array
Default value:array()
-

Contains names of configuration options (keys in $cfg array) that -users can’t set through user preferences. For possible values, refer -to clases under libraries/classes/Config/Forms/User/.

-
- -
-
-$cfg['UserprefsDeveloperTab']
-
--- - - - - - -
Type:boolean
Default value:false
-

Activates in the user preferences a tab containing options for -developers of phpMyAdmin.

-
- -
-
-

Page titles

-
-
-$cfg['TitleTable']
-
--- - - - - - -
Type:string
Default value:'@HTTP_HOST@ / @VSERVER@ / @DATABASE@ / @TABLE@ | @PHPMYADMIN@'
-
- -
-
-$cfg['TitleDatabase']
-
--- - - - - - -
Type:string
Default value:'@HTTP_HOST@ / @VSERVER@ / @DATABASE@ | @PHPMYADMIN@'
-
- -
-
-$cfg['TitleServer']
-
--- - - - - - -
Type:string
Default value:'@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@'
-
- -
-
-$cfg['TitleDefault']
-
--- - - - - - -
Type:string
Default value:'@HTTP_HOST@ | @PHPMYADMIN@'
-

Allows you to specify window’s title bar. You can use 6.27 What format strings can I use?.

-
- -
-
-

Theme manager settings

-
-
-$cfg['ThemeManager']
-
--- - - - - - -
Type:boolean
Default value:true
-

Enables user-selectable themes. See 2.7 Using and creating themes.

-
- -
-
-$cfg['ThemeDefault']
-
--- - - - - - -
Type:string
Default value:'pmahomme'
-

The default theme (a subdirectory under ./themes/).

-
- -
-
-$cfg['ThemePerServer']
-
--- - - - - - -
Type:boolean
Default value:false
-

Whether to allow different theme for each server.

-
- -
-
-$cfg['FontSize']
-
--- - - - - - -
Type:string
Default value:‘82%’
-
-

Deprecated since version 5.0.0: This setting was removed as the browser is more efficient, -thus no need of this option.

-
-

Font size to use, is applied in CSS.

-
- -
-
-

Default queries

-
-
-$cfg['DefaultQueryTable']
-
--- - - - - - -
Type:string
Default value:'SELECT * FROM @TABLE@ WHERE 1'
-
- -
-
-$cfg['DefaultQueryDatabase']
-
--- - - - - - -
Type:string
Default value:''
-

Default queries that will be displayed in query boxes when user didn’t -specify any. You can use standard 6.27 What format strings can I use?.

-
- -
-
-

MySQL settings

-
-
-$cfg['DefaultFunctions']
-
--- - - - - - -
Type:array
Default value:array(...)
-

Functions selected by default when inserting/changing row, Functions -are defined for meta types as (FUNC_NUMBER, FUNC_DATE, FUNC_CHAR, -FUNC_SPATIAL, FUNC_UUID) and for first_timestamp, which is used -for first timestamp column in table.

-
- -
-
-

Default options for Transformations

-
-
-$cfg['DefaultTransformations']
-
--- - - - - - -
Type:array
Default value:An array with below listed key-values
-
- -
-
-$cfg['DefaultTransformations']['Substring']
-
--- - - - - - -
Type:array
Default value:array(0, ‘all’, ‘…’)
-
- -
-
-$cfg['DefaultTransformations']['Bool2Text']
-
--- - - - - - -
Type:array
Default value:array(‘T’, ‘F’)
-
- -
-
-$cfg['DefaultTransformations']['External']
-
--- - - - - - -
Type:array
Default value:array(0, ‘-f /dev/null -i -wrap -q’, 1, 1)
-
- -
-
-$cfg['DefaultTransformations']['PreApPend']
-
--- - - - - - -
Type:array
Default value:array(‘’, ‘’)
-
- -
-
-$cfg['DefaultTransformations']['Hex']
-
--- - - - - - -
Type:array
Default value:array(‘2’)
-
- -
-
-$cfg['DefaultTransformations']['DateFormat']
-
--- - - - - - -
Type:array
Default value:array(0, ‘’, ‘local’)
-
- -
-
-$cfg['DefaultTransformations']['Inline']
-
--- - - - - - -
Type:array
Default value:array(‘100’, 100)
-
- -
- -
--- - - - - - -
Type:array
Default value:array(‘’, 100, 50)
-
- -
- -
--- - - - - - -
Type:array
Default value:array(‘’, ‘’, ‘’)
-
- -
-
-

Console settings

-
-

Note

-

These settings are mostly meant to be changed by user.

-
-
-
-$cfg['Console']['StartHistory']
-
--- - - - - - -
Type:boolean
Default value:false
-

Show query history at start

-
- -
-
-$cfg['Console']['AlwaysExpand']
-
--- - - - - - -
Type:boolean
Default value:false
-

Always expand query messages

-
- -
-
-$cfg['Console']['CurrentQuery']
-
--- - - - - - -
Type:boolean
Default value:true
-

Show current browsing query

-
- -
-
-$cfg['Console']['EnterExecutes']
-
--- - - - - - -
Type:boolean
Default value:false
-

Execute queries on Enter and insert new line with Shift + Enter

-
- -
-
-$cfg['Console']['DarkTheme']
-
--- - - - - - -
Type:boolean
Default value:false
-

Switch to dark theme

-
- -
-
-$cfg['Console']['Mode']
-
--- - - - - - -
Type:string
Default value:‘info’
-

Console mode

-
- -
-
-$cfg['Console']['Height']
-
--- - - - - - -
Type:integer
Default value:92
-

Console height

-
- -
-
-

Developer

-
-

Warning

-

These settings might have huge effect on performance or security.

-
-
-
-$cfg['DBG']
-
--- - - - - - -
Type:array
Default value:array(...)
-
- -
-
-$cfg['DBG']['sql']
-
--- - - - - - -
Type:boolean
Default value:false
-

Enable logging queries and execution times to be -displayed in the console’s Debug SQL tab.

-
- -
-
-$cfg['DBG']['sqllog']
-
--- - - - - - -
Type:boolean
Default value:false
-

Enable logging of queries and execution times to the syslog. -Requires $cfg['DBG']['sql'] to be enabled.

-
- -
-
-$cfg['DBG']['demo']
-
--- - - - - - -
Type:boolean
Default value:false
-

Enable to let server present itself as demo server. -This is used for phpMyAdmin demo server.

-

It currently changes following behavior:

-
    -
  • There is welcome message on the main page.
  • -
  • There is footer information about demo server and used git revision.
  • -
  • The setup script is enabled even with existing configuration.
  • -
  • The setup does not try to connect to the MySQL server.
  • -
-
- -
-
-$cfg['DBG']['simple2fa']
-
--- - - - - - -
Type:boolean
Default value:false
-

Can be used for testing two-factor authentication using Simple two-factor authentication.

-
- -
-
-

Examples

-

See following configuration snippets for typical setups of phpMyAdmin.

-
-

Basic example

-

Example configuration file, which can be copied to config.inc.php to -get some core configuration layout; it is distributed with phpMyAdmin as -config.sample.inc.php. Please note that it does not contain all -configuration options, only the most frequently used ones.

-
<?php
-/* vim: set expandtab sw=4 ts=4 sts=4: */
-/**
- * phpMyAdmin sample configuration, you can use it as base for
- * manual configuration. For easier setup you can use setup/
- *
- * All directives are explained in documentation in the doc/ folder
- * or at <https://docs.phpmyadmin.net/>.
- *
- * @package PhpMyAdmin
- */
-declare(strict_types=1);
-
-/**
- * This is needed for cookie based authentication to encrypt password in
- * cookie. Needs to be 32 chars long.
- */
-$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
-
-/**
- * Servers configuration
- */
-$i = 0;
-
-/**
- * First server
- */
-$i++;
-/* Authentication type */
-$cfg['Servers'][$i]['auth_type'] = 'cookie';
-/* Server parameters */
-$cfg['Servers'][$i]['host'] = 'localhost';
-$cfg['Servers'][$i]['compress'] = false;
-$cfg['Servers'][$i]['AllowNoPassword'] = false;
-
-/**
- * phpMyAdmin configuration storage settings.
- */
-
-/* User used to manipulate with storage */
-// $cfg['Servers'][$i]['controlhost'] = '';
-// $cfg['Servers'][$i]['controlport'] = '';
-// $cfg['Servers'][$i]['controluser'] = 'pma';
-// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
-
-/* Storage database and tables */
-// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
-// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
-// $cfg['Servers'][$i]['relation'] = 'pma__relation';
-// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
-// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
-// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
-// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
-// $cfg['Servers'][$i]['history'] = 'pma__history';
-// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
-// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
-// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
-// $cfg['Servers'][$i]['recent'] = 'pma__recent';
-// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
-// $cfg['Servers'][$i]['users'] = 'pma__users';
-// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
-// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
-// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
-// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
-// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
-// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
-
-/**
- * End of servers configuration
- */
-
-/**
- * Directories for saving/loading files from server
- */
-$cfg['UploadDir'] = '';
-$cfg['SaveDir'] = '';
-
-/**
- * Whether to display icons or text or both icons and text in table row
- * action segment. Value can be either of 'icons', 'text' or 'both'.
- * default = 'both'
- */
-//$cfg['RowActionType'] = 'icons';
-
-/**
- * Defines whether a user should be displayed a "show all (records)"
- * button in browse mode or not.
- * default = false
- */
-//$cfg['ShowAll'] = true;
-
-/**
- * Number of rows displayed when browsing a result set. If the result
- * set contains more rows, "Previous" and "Next".
- * Possible values: 25, 50, 100, 250, 500
- * default = 25
- */
-//$cfg['MaxRows'] = 50;
-
-/**
- * Disallow editing of binary fields
- * valid values are:
- *   false    allow editing
- *   'blob'   allow editing except for BLOB fields
- *   'noblob' disallow editing except for BLOB fields
- *   'all'    disallow editing
- * default = 'blob'
- */
-//$cfg['ProtectBinary'] = false;
-
-/**
- * Default language to use, if not browser-defined or user-defined
- * (you find all languages in the locale folder)
- * uncomment the desired line:
- * default = 'en'
- */
-//$cfg['DefaultLang'] = 'en';
-//$cfg['DefaultLang'] = 'de';
-
-/**
- * How many columns should be used for table display of a database?
- * (a value larger than 1 results in some information being hidden)
- * default = 1
- */
-//$cfg['PropertiesNumColumns'] = 2;
-
-/**
- * Set to true if you want DB-based query history.If false, this utilizes
- * JS-routines to display query history (lost by window close)
- *
- * This requires configuration storage enabled, see above.
- * default = false
- */
-//$cfg['QueryHistoryDB'] = true;
-
-/**
- * When using DB-based query history, how many entries should be kept?
- * default = 25
- */
-//$cfg['QueryHistoryMax'] = 100;
-
-/**
- * Whether or not to query the user before sending the error report to
- * the phpMyAdmin team when a JavaScript error occurs
- *
- * Available options
- * ('ask' | 'always' | 'never')
- * default = 'ask'
- */
-//$cfg['SendErrorReports'] = 'always';
-
-/**
- * You can find more configuration options in the documentation
- * in the doc/ folder or at <https://docs.phpmyadmin.net/>.
- */
-
-
-
-

Warning

-

Don’t use the controluser ‘pma’ if it does not yet exist and don’t use ‘pmapass’ -as password.

-
-
-
-

Example for signon authentication

-

This example uses examples/signon.php to demonstrate usage of Signon authentication mode:

-
<?php
-$i = 0;
-$i++;
-$cfg['Servers'][$i]['extension']     = 'mysqli';
-$cfg['Servers'][$i]['auth_type']     = 'signon';
-$cfg['Servers'][$i]['SignonSession'] = 'SignonSession';
-$cfg['Servers'][$i]['SignonURL']     = 'examples/signon.php';
-
-
-
-
-

Example for IP address limited autologin

-

If you want to automatically login when accessing phpMyAdmin locally while asking -for a password when accessing remotely, you can achieve it using following snippet:

-
if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
-    $cfg['Servers'][$i]['auth_type'] = 'config';
-    $cfg['Servers'][$i]['user'] = 'root';
-    $cfg['Servers'][$i]['password'] = 'yourpassword';
-} else {
-    $cfg['Servers'][$i]['auth_type'] = 'cookie';
-}
-
-
-
-

Note

-

Filtering based on IP addresses isn’t reliable over the internet, use it -only for local address.

-
-
-
-

Example for using multiple MySQL servers

-

You can configure any number of servers using $cfg['Servers'], -following example shows two of them:

-
<?php
-$cfg['blowfish_secret']='multiServerExample70518';
-//any string of your choice
-$i = 0;
-
-$i++; // server 1 :
-$cfg['Servers'][$i]['auth_type'] = 'cookie';
-$cfg['Servers'][$i]['verbose']   = 'no1';
-$cfg['Servers'][$i]['host']      = 'localhost';
-$cfg['Servers'][$i]['extension'] = 'mysqli';
-// more options for #1 ...
-
-$i++; // server 2 :
-$cfg['Servers'][$i]['auth_type'] = 'cookie';
-$cfg['Servers'][$i]['verbose']   = 'no2';
-$cfg['Servers'][$i]['host']      = 'remote.host.addr';//or ip:'10.9.8.1'
-// this server must allow remote clients, e.g., host 10.9.8.%
-// not only in mysql.host but also in the startup configuration
-$cfg['Servers'][$i]['extension'] = 'mysqli';
-// more options for #2 ...
-
-// end of server sections
-$cfg['ServerDefault'] = 0; // to choose the server on startup
-
-// further general options ...
-
-
-
-
-

Google Cloud SQL with SSL

-

To connect to Google Could SQL, you currently need to disable certificate -verification. This is caused by the certficate being issued for CN matching -your instance name, but you connect to an IP address and PHP tries to match -these two. With verfication you end up with error message like:

-
Peer certificate CN=`api-project-851612429544:pmatest' did not match expected CN=`8.8.8.8'
-
-
-
-

Warning

-

With disabled verification your traffic is encrypted, but you’re open to -man in the middle attacks.

-
-

To connect phpMyAdmin to Google Cloud SQL using SSL download the client and -server certificates and tell phpMyAdmin to use them:

-
// IP address of your instance
-$cfg['Servers'][$i]['host'] = '8.8.8.8';
-// Use SSL for connection
-$cfg['Servers'][$i]['ssl'] = true;
-// Client secret key
-$cfg['Servers'][$i]['ssl_key'] = '../client-key.pem';
-// Client certificate
-$cfg['Servers'][$i]['ssl_cert'] = '../client-cert.pem';
-// Server certification authority
-$cfg['Servers'][$i]['ssl_ca'] = '../server-ca.pem';
-// Disable SSL verification (see above note)
-$cfg['Servers'][$i]['ssl_verify'] = false;
-
-
- -
-
-
- - -