phpMyAdmin is one of the most famous tools for managing the MySQL database. However, it is not perfect which is the reason why Adminer has been created. In which areas is Adminer a better alternative to replace phpMyAdmin? The list is quite long and some points may be insignificant for you. The most important differences are:
There are several screenshots linked from the comparison table further explaining the difference.
This comparison was made in the past and the current state might be different. I do not have enough energy to do a similar in-depth comparison with current versions.
Feature | phpMyAdmin 3.3.9 | Adminer 3.1.0 | Comment |
---|---|---|---|
Supported systems | MySQL | MySQL, SQLite, PostgreSQL, MS SQL, Oracle | Adminer is also available in a MySQL-only version. |
Login | partial | complete | Adminer offers permanent login including user list, phpMyAdmin only partial support through configuration. |
Create table | not smart | smart | In phpMyAdmin you have to specify the number of fields prior to creating the table. The form design transposes based on the number of fields. Adminer adds fields automatically. |
Alter table | restricted | free | phpMyAdmin cannot move columns and cannot add columns in different places at once (every alter table is very slow when applied to big tables). Adminer can reorganize columns and add them in different places - at once. |
Enum type | miserable | comfortable | Adminer offers textarea with one item per line for enum type creation. |
Indexes | one at a time | all at once | Adding an index is a slow operation with big tables. Adminer allows manipulation with all indexes together. |
Foreign keys | limited | complete | It is not possible to create multi-column foreign keys in phpMyAdmin. You have to create an index manually before you create the foreign key. Adminer offers a foreign keys interface directly in create/alter table. |
Views | no alter | full support | It is not possible to alter a view in phpMyAdmin, it must be dropped and recreated manually. |
User interface | confusing | intuitive | An example that applies to many differenet cases: there is an icon by table name in navigation. Half of users do not know that it has a different function than table name, the other half is not sure which function it is. |
Triggers, routines, events | no create, alter manually | full support | phpMyAdmin does not offer an interface for creating these objects and has only primitive functionality for altering them. |
Calling routines | SQL only | friendly | Calling stored procedures and functions in phpMyAdmin is possible only by creating a SQL query. Adminer offers a friendly interface. |
Selecting data | lacking | functions, grouping | Adminer allows grouping results and applying functions to columns in select statements. It is also possible to order by several columns at once. phpMyAdmin lacks these features. |
Blob field download | extra tables | automatic | It is possible to download the contents of a blob field in phpMyAdmin only by creating extra tables, specifying them in the configuration and manually marking the downloadable fields. Adminer allows downloading any blob. |
Relations | extra tables | automatic | To link data through foreign keys, you have to create an extra table and specify it in the configuration of phpMyAdmin. |
Bulk editing | absent | present | There is no way to change a field value for several rows at once in phpMyAdmin. Adminer offers both relative and absolute modifications. |
Multiple editing | complicated | trivial | For example, to fix typos on ten rows: You have to select these rows in phpMyAdmin, edit them, find the typos again and save. In Adminer, just double-click on a typo and save. |
Clone row | error-prone | safe | phpMyAdmin offers the clone row feature after standard editing, therefore it is possible to overwrite the row by mistake. Adminer has a special button that is displayed prior to this operation. |
Schema | extra tables | always | Schema in phpMyAdmin is available only after setting up and specifying extra tables in the configuration file and only through PDF or <canvas>. Adminer uses HTML and JavaScript. |
Synchronization | requires remote access | works anywhere | phpMyAdmin synchronize feature does not work without remote access to the server which is usually disabled by a firewall. Adminer uses a different approach - it can create an ALTER export which generates alter commands to synchronize the target database with the source after running on the remote server. |
Database list | slow | fast | Database list is slow because it displays the number of tables. Adminer downloads this data asynchronously. |
Status variables | one-line summary | official documentation | phpMyAdmin displays an on-line summary for some status variables, Adminer links to the official documentation. |
Variables | no description | official documentation | phpMyAdmin does not display any description for variables, Adminer links to the official documentation. |
Multiple browser tabs | blocking | non-blocking | When one browser tab is performing a long operation, it is not possible to work with phpMyAdmin in another tab. Adminer on the other hand is concurrent and non-blocking. |
SQL queries | one result | several results | Adminer is able to display the results of separate SQL queries all in one page. |
Syntax highlighting | no links | documentation links | Adminer provides links to documentation for all SQL keywords. |
Keyboard shortcucts | obstructive | handy | In phpMyAdmin, Ctrl+Left/Right does not skip by words as is the standard, instead it moves between fields. In Adminer, keyboard shortcuts work as expected: Tab inside a SQL textarea works and Ctrl+Enter sends a form. |
Wyglądy | 6 | 8 | phpMyAdmin skin requires creating over 100 icons. |
Customization | extra tables | PHP class | phpMyAdmin offers very simple customizations through special tables. Adminer offers advanced customization through a PHP extension class. |
Overall performance | slow | fast | Adminer is 28% faster on average (according to independent test by Juraj Hajdúch). |
Security bugs fixed in 2010 | 10 | 1 | phpMyAdmin still fails to address serious security issues such as ClickJacking from the same domain or Referer Leakage. |
New version notifications | inside Adminer | You can subscribe to e-mail notifications in phpMyAdmin. Adminer is more user friendly: the availability of a new version is displayed automatically in Adminer itself. There is also an RSS channel for both tools. | |
Number of files | 879 | 1 | The Adminer source code is well structured and kept in 70 files. The final, single file version is the result of compilation and minification. |
Size | 15 126 kB | 291 kB | Number of files and size becomes apparent when installing/copying the application to a remote server. Installing Adminer is a snap. |
License | GPL | GPL or Apache | GPL license is quite restrictive - it requires derived products to be also under GPL. |
Wymagania | PHP 5.2+, MySQL 5+ | PHP 4.3+, MySQL 4.1+ | Adminer works even with older versions of PHP and MySQL. phpMyAdmin requires a downgrade to work in older versions. |
Konfiguracja | usually necessary | zero configuration | phpMyAdmin usually requires at least some configuration, Adminer just works. |
To be fair, there are also some areas where phpMyAdmin exceeds Adminer:
Feature | phpMyAdmin 3.3.9 | Adminer 3.1.0 | Comment |
---|---|---|---|
Languages | 7/57 up-to-date | 17/17 up-to-date | Nearly all translations in phpMyAdmin are incomplete. Common languages including RTL are supported in both tools and both tools have an English-only version in addition to the multi-lingual version. Create a new translation (if you are a native speaker). |
Export formats | 16 (LaTeX, Texy!, ...) | 3 (SQL, CSV, TSV) | Exporting database to LaTeX is a task that most developers solve on a daily basis. |
Downloads in 11/2010 | 280 000 | 7 000 | You can change it this month! |
Presentation from O'Reilly MySQL Conference: download.
By the way, SQL Buddy (which is also an Adminer competitor) development was discontinued.