Home
AdminerEvo is a web-based database management interface, with a focus on security, user experience, performance, functionality and size.
It is available for download as a single self-contained PHP file, making it easy to deploy anywhere.
AdminerEvo works out of the box with MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch and MongoDB. In addition, there are plugins for SimpleDB, Firebird and ClickHouse.
AdminerEvo is developed by the AdminerEvo community and is a continuation of the Adminer project by Jakub Vrána.
Rationale
Existing database management interfaces often come in the form of desktop clients, or as large web applications. They often only support a single DBMS.
Adminer aims to offer a familiar interface in a lightweight package, no matter the environment. The only requirement is a webserver configured to run a current version of PHP.
Plugins
AdminerEvo and AdminerEvo Editor can be extended by plugins. To use a plugin
Name / link | Description |
---|---|
plugin | Required to run any plugin |
database-hide | Hide some databases from the interface - just to improve design, not a security plugin |
designs | Allow switching designs |
dump-alter | Exports one database (e.g. development ) so that it can be synced with other database (e.g. production ) |
dump-bz2 | Dump to Bzip2 format |
dump-date | Include current date and time in export filename |
dump-json | Dump to JSON format |
dump-xml | Dump to XML format in structure <database name="><table name="><column name="> value |
dump-zip | Dump to ZIP format |
edit-calendar | Display jQuery UI Timepicker for each date and datetime field |
edit-foreign | Select foreign key in edit form |
edit-textarea | Use <textarea> for char and varchar |
enum-option | Use <select><option> for enum edit instead of <input type="radio"> |
enum-types | Use <select><option> for enum edit instead of regular input text on enum type in PostgreSQL |
file-upload | Edit fields ending with _path by <input type="file"> and link to the uploaded files from select |
foreign-system | Link system tables (in mysql and information_schema databases) by foreign keys |
frames | Allow using Adminer inside a frame |
json-column | Display JSON values as table in edit |
login-otp | Require One Time Password at login |
login-servers | Display constant list of servers in login form |
login-password-less | Enable login without password (example) |
login-ssl | Connect to MySQL using SSL |
login-table | Authenticate a user from the login table |
master-slave | Execute writes on master and reads on slave |
pretty-json-column | Pretty print JSON values in edit |
slugify | Prefill field containing _slug with slugified value of a previous field (JavaScript) |
sql-log | Log all queries to SQL file |
struct-comments | Show comments of sql structure in more places (mainly where you edit things) |
tables-filter | Filter names in tables list |
tinymce | Edit all fields containing _html by HTML editor TinyMCE and display the HTML in select |
translation | Translate all table and field comments, enum and set values from the translation table (automatically inserts new translations) |
version-noverify | Disable version checker |
wymeditor | Edit all fields containing _html by HTML editor WYMeditor and display the HTML in select |
User contributed plugins
Name / link | Author | Description |
---|---|---|
allowed-prefixes | Martin Macko | Show only tables with user set prefixes |
checkbox-select | Alexander Shabunevich | Check multiple checkboxes at once by Shift+click. |
colorfields | Prema van Smuuf | |
convention-foreign-keys | Ivan Nečas | Links for foreign keys by convention user_id => users.id |
convention-foreign-keys | Michal Mikoláš | Links for foreign keys by convention user_id => users.id |
AdminerCopy | Adil Yildiz | |
Camera Upload | Marcelo Gennari | |
cellformula | Tommy Tan | |
CustomizeThemeBasedOnServer | Michael Mokroß | |
Disable tables | Andrea Mariani | |
DisplayForeignKeyName | Bruno Vibert | |
DumpMarkdownDict | ||
dump-markdown | Federico Thiella | |
dump-xml-dataset | Michal Brašna | Dump to XML format specifically PHPUnit's XML DataSet structure |
FasterTablesFilter | Martin Macko | |
favorites tables | Ladislav Ševcůj | |
FillLoginForm | Pavel Kutáč | |
fk-disable | Andrea Mariani | |
floatThead | Stano Paška | Floating table header plugin |
folder-import | Joshua | |
ForeignKeys | Marek Hučík | |
hidePgSchemas | Martin Jagr | Hide schemas with pg_ prefix |
HideTables | Pavel Kutáč | |
HideableColumns | Stephan | |
input-uuid-generator | Pavel Kutáč | |
ispconfig | Natan Felles | Authenticate and auto-check host by ISPConfig Remote API |
JsonVarDumper | Marc Christenfeldt | |
login-servers-enhanced | CrazyMax | Fork of the official login-servers Adminer plugin with enhancements |
nette-user-login | Mikuláš Dítě | |
one-click-login | Sérgio Freitas | |
PHP Export | Adrian Andreescu | |
PHP Serialized Data | Don Wilson | |
readable-dates | Dora Bulkins | Replaces UNIX timestamps with human-readable dates in your local format |
resize | Tiago Gil Marques | Left column (tables) resizer (allow you to resize left table column) |
restore-menu-scroll | Jiří Petruželka | Remembers and restores scollbar position of side menu |
SchemaDefaultToPublic | Martin Zubek | |
SearchAutocomplete | Stephan | |
SQLite3 without password | François Capon | |
StickyColumns | Stephan | |
suggest-tablefields | Andrea Mariani | |
table-filter | Gábor Zabojszky-Horvath | Quickly filtering tables, works only with custom themes where table list is floated |
table-header-scroll | Jonathan Vollebregt | Makes the table header scroll with the viewport |
tablesCollapse | Tiago Gil Marques | Left column tables collapse (allows you to collapse tables, and translations tables with some sufix patterns, like phpmyadmin) |
tables_fuzzy_search | Bruno Duyé | Fuzzy search (filter) in tables list |
tables-history | Ale Rimoldi | |
tree-view | Petro Kostyuk | |
login-serversjson-previewsimple-menucollations | Pematon | |
Adminer Bootstrap-Like Design | Natan Felles | |
Theme for Adminer | Pematon | Responsive touch-friendly theme |
Theme Switcher | Victor Nogueira |
To use a plugin
Create a PHP file specifying which plugins do you want to use:
<?php
function adminer_object() {
// required to run any plugin
include_once "./plugins/plugin.php";
// autoloader
foreach (glob("plugins/*.php") as $filename) {
include_once "./$filename";
}
// enable extra drivers just by including them
//~ include "./plugins/drivers/simpledb.php";
$plugins = array(
// specify enabled plugins here
new AdminerDumpXml(),
new AdminerTinymce(),
new AdminerFileUpload("data/"),
new AdminerSlugify(),
new AdminerTranslation(),
new AdminerForeignSystem(),
);
/* It is possible to combine customization and plugins:
class AdminerCustomization extends AdminerPlugin {
}
return new AdminerCustomization($plugins);
*/
return new AdminerPlugin($plugins);
}
// include original Adminer or Adminer Editor
include "./adminer.php";
History
The project was started by Jakub Vrána as phpMinAdmin, with the aim of providing a light-weight alternative to phpMyAdmin. A 1.0.0 version was released on the 11th of July 2007.
Nearly two years later, Jakub renamed the project to Adminer, as its former name started as somewhat of a joke and caused confusion with the phpMyAdmin project.
Around the same time, Jakub had an article published in the php|architect August 2009 edition, which he made available on his blog (archive). The article goes into detail about his ideas for Adminer and how it was designed. Some of this is still relevant today.
A major announcement came the following year, with the release of 3.0.0. This release introduced support for multiple database drivers and already included SQLite, PostgreSQL, MS SQL and Oracle.
In 2016 the project's source code was moved from its home on SourceForge to GitHub. Bug reports and user forums, however, remained where they were.
Finally, in May of 2023, after a long period without released and with user contributions piling up without being merged, a group of individuals decided to join forces and revive the project as AdminerEvo.
Support
The community is available at GitHub Discussions where we discuss ideas and issues.
If you would like to report a bug, please look through the open issues or create a new one.
Contributions
We welcome pull requests, however we suggest discussing your idea first via the discussion board.