phpMyAdmin configuration storage

Changed in version 3.4.0: Prior to phpMyAdmin 3.4.0 this was called Linked Tables Infrastructure, but the name was changed due to the extended scope of the storage.

For a whole set of additional features (Bookmarks, comments, SQL-history, tracking mechanism, PDF-generation, Transformations, Relations etc.) you need to create a set of special tables. Those tables can be located in your own database, or in a central database for a multi-user installation (this database would then be accessed by the controluser, so no other user should have rights to it).

Zero configuration

In many cases, this database structure can be automatically created and configured. This is called "Zero Configuration" mode and can be particularly useful in shared hosting situations. "Zeroconf" mode is on by default, to disable set $cfg['ZeroConf'] to false.

The following three scenarios are covered by the Zero Configuration mode:

Manual configuration

Please look at your ./sql/ directory, where you should find a file called create_tables.sql. (If you are using a Windows server, pay special attention to 1.23 I'm running MySQL on a Win32 machine. Each time I create a new table the table and column names are changed to lowercase!).

If you already had this infrastructure and:

and then create new tables by importing sql/create_tables.sql.

You can use your phpMyAdmin to create the tables for you. Please be aware that you may need special (administrator) privileges to create the database and tables, and that the script may need some tuning, depending on the database name.

After having imported the sql/create_tables.sql file, you should specify the table names in your config.inc.php file. The directives used for that can be found in the Configuration.

You will also need to have a controluser ($cfg['Servers'][$i]['controluser'] and $cfg['Servers'][$i]['controlpass'] settings) with the proper rights to those tables. For example you can create it using following statement:

GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost'  IDENTIFIED BY 'pmapass';