phpMyAdmin Designer

Flashback to 1997. phpMyAdmin with the Designer view gives us an Access-ish design space with InnoDB-supported foreign keys, whee! For some stupid reason it’s a little tricky to set this up – you have to set up a special phpmyadmin database to track the extra layout information, and then configure phpMyAdmin to use it.

mysql -p < /var/www/localhost/htdocs/phpmyadmin/scripts/create_tables_mysql_4_1_2+.sql
mysql -p < /var/www/localhost/htdocs/phpmyadmin/scripts/upgrade_tables_mysql_4_1_2+.sql
emacs /var/www/localhost/htdocs/phpmyadmin/
/* MDM This was working with defaults (pma/pmapass) but anyone could guess that and access the db! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'USEYEROWNPASSWORDHEREYASCRUB';

/* MDM Added to prevent warnings on table operations tab.  These are all default values, not really needed.
Without these, you can still get to the "designer" tab: select database, click "designer" tab
and the "relation" page: select database, select table, select structure tab, select relation link */

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // Database used for Relation, Bookmark and PDF Features
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; // Bookmark table
$cfg['Servers'][$i]['relation'] = 'pma_relation'; // table to describe the relation between links (see doc)
$cfg['Servers'][$i]['table_info'] = 'pma_table_info'; // table to describe the display fields
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; // table to describe the tables position for the PDF schema
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; // table to describe pages of relationpdf
$cfg['Servers'][$i]['column_info'] = 'pma_column_info'; // table to store column information
$cfg['Servers'][$i]['history'] = 'pma_history'; // table to store SQL history
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; // table to store the coordinates for Designer
then create the pma mysql user and grant it access to the phpmyadmin database using your own password.
then create some tables - make sure you set them to use the InnoDB engine - and have some fun!


Leave a Reply