phpMyAdmin - HVboom/HowTo-DigitalOcean GitHub Wiki
Currently phpMyAdmin can:
- browse and drop databases, tables, views, columns and indexes
- display multiple results sets through stored procedures or queries
- create, copy, drop, rename and alter databases, tables, columns and indexes
- maintain server, databases and tables, with proposals on server configuration
- execute, edit and bookmark any SQL-statement, even batch-queries
- load text files into tables
- create and read dumps of tables
- export data to various formats: CSV, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Microsoft Word 2000, and LATEX formats
- import data and MySQL structures from OpenDocument spreadsheets, as well as XML, CSV, and SQL files
- administer multiple servers
- manage MySQL users and privileges
- check referential integrity in MyISAM tables
- using Query-by-example (QBE), create complex queries automatically connecting required tables
- create PDF graphics of your database layout
- search globally in a database or a subset of it
- transform stored data into any format using a set of predefined functions, like displaying BLOB-data as image or download-link
- track changes on databases, tables and views
- support InnoDB tables and foreign keys
- support mysqli, the improved MySQL extension
- create, edit, call, export and drop stored procedures and functions
- create, edit, export and drop events and triggers
- communicate in 62 different languages
💬 copied from package description
-
Basic ideas taken from Ubuntu setup phpMyAdmin
-
Installation
-
Variante 1: Install package
sudo pkg install phpMyAdmin
-
Variante 2: Install from Git
Currently (02.05.2016) no package using PHP 7.0 exists
sudo mkdir -p /usr/local/www/phpMyAdmin sudo chgrp www /usr/local/www/phpMyAdmin sudo git clone https://github.com/phpmyadmin/phpmyadmin.git /usr/local/www/phpMyAdmin sudo bash -c 'cd /usr/local/www/phpMyAdmin; composer update --no-dev'
-
-
Secure installation by using an admin section with basic authentication:
sudo mkdir -p /usr/local/www/apache24/data/admin sudo chmod o+rX /usr/local/www/apache24/data/admin cd /usr/local/www/apache24/data/admin sudo ln -s /usr/local/www/phpMyAdmin .
-
Configure phpMyAdmin using the sample configuration file:
cd /usr/local/www/apache24/data/admin/phpMyAdmin sudo cp config.sample.inc.php config.inc.php sudo chgrp www config.inc.php
-
Edit the configuration file:
sudo vi /usr/local/www/apache24/data/admin/phpMyAdmin/config.inc.php
-
Set the
$cfg['blowfish_secret']
because we want to use cookies as our authorization method. Good keys can be generated by using this tool. -
Disable Java error reports:
/** * Should error reporting be enabled for JavaScript errors * * default = 'ask' */ $cfg['SendErrorReports'] = 'never'; /** * Disallow users to override this setting */ $cfg['UserprefsDisallow'] = array('SendErrorReports');
-
-
Launch phpMyAdmin
-
Add a new user phpMyAdmin to enable various phpMyAdmin features:
-
Edit the configuration again to enable all the Storage features
- Enable the query history:
$cfg['QueryHistoryDB'] = true;
- Set number of historicized queries:
$cfg['QueryHistoryMax'] = 100;
- Enable the tracking of structure changes:
$cfg['Servers'][$i]['tracking_version_auto_create'] = 'true';
- Enable the query history:
-
If you login again you get following error message:
-
Follow the instructions to create the missing tables:
-
Change the character code of the phpMyAdmin tables:
-
-
-
Final configuration file config.inc.php looks like:
<?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 <http://docs.phpmyadmin.net/>. * * @package PhpMyAdmin */ /** * This is needed for cookie based authentication to encrypt password in * cookie */ $cfg['blowfish_secret'] = <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]['connect_type'] = 'tcp'; $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'] = 'phpMyAdmin'; $cfg['Servers'][$i]['controlpass'] = <password>; /* 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'; // Enable the tracking of structure changes $cfg['Servers'][$i]['tracking_version_auto_create'] = 'true'; /** * 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'; $cfg['SendErrorReports'] = 'never'; /** * Disallow users to override this setting */ $cfg['UserprefsDisallow'] = array('SendErrorReports'); /** * You can find more configuration options in the documentation * in the doc/ folder or at <http://docs.phpmyadmin.net/>. */