/ |
<a href="https://www.apache.org/licenses/LICENSE-2.0.html">Apache License</a> or <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC1">GPL 2</a> |
|
/ |
<a href="https://www.vas-hosting.com/?ref=3000">Hosting</a> |
|
/ |
<strong>Connect</strong> to a database server with username and password |
|
/ |
<strong>Export</strong> table structure, data, views, routines, databases to SQL or CSV |
|
/ |
<strong>List data</strong> in tables with search, aggregate, sort and limit results |
|
/ |
<strong>Usage:</strong> Just put the file <code>adminer.css</code> or <code>adminer-dark.css</code> alongside <code>adminer.php</code>. |
|
/ |
Add and drop tables and columns |
|
/ |
Adminer development priorities are: 1. Security, 2. User experience, 3. Performance, 4. Feature set, 5. Size. |
|
/ |
Adminer is a full-featured database management tool written in PHP. Conversely to <a href="https://www.phpmyadmin.net/" target="_blank">phpMyAdmin</a>, it consist of a single file ready to deploy to the target server. |
|
/ |
Adminer is also bundled with <a href="https://nette.org/">Nette Framework</a> (which this site runs on). |
|
/ |
Adminer is available for: |
|
/ |
Alter name, type, collation, comment and default values of <strong>columns</strong> |
|
/ |
Alter table |
|
/ |
Alternative designs |
|
/ |
Arabic |
|
/ |
Available in many languages |
|
/ |
Bengali |
|
/ |
Bosnian |
|
/ |
Bugs |
|
/ |
Bulgarian |
|
/ |
Catalan |
|
/ |
Change log |
|
/ |
Change name, engine, collation, auto_increment and comment of <strong>table</strong> |
|
/ |
Chinese |
|
/ |
Code |
|
/ |
Create a new translation |
|
/ |
Create, alter and drop <strong>triggers</strong> |
|
/ |
Create, alter, drop and call <strong>stored procedures and functions</strong> |
|
/ |
Create, alter, drop and link lists by <strong>foreign keys</strong> |
|
/ |
Create, alter, drop and search by <strong>indexes</strong> including fulltext |
|
/ |
Create, alter, drop and select from <strong>views</strong> |
|
/ |
Current development version |
|
/ |
Czech |
|
/ |
Danish |
|
/ |
Dark mode |
|
/ |
Database management in a single PHP file |
|
/ |
Database overview |
|
/ |
Database schema |
|
/ |
Design |
|
/ |
Display <strong>users and rights</strong> and change them |
|
/ |
Display <strong>variables</strong> with links to documentation |
|
/ |
Donate |
|
/ |
Download |
|
/ |
Downloads |
|
/ |
Dutch |
|
/ |
Edit data |
|
/ |
English |
|
/ |
English only |
|
/ |
Estonian |
|
/ |
Execute any <strong>SQL command</strong> from a text field or a file |
|
/ |
Export |
|
/ |
Extensive <strong>customization</strong> options |
|
/ |
Features |
|
/ |
Finnish |
|
/ |
Forums |
|
/ |
Free for commercial and non-commercial use |
|
/ |
French |
|
/ |
Galician |
|
/ |
Georgian |
|
/ |
German |
|
/ |
Greek |
|
/ |
Hebrew |
|
/ |
Hungarian |
|
/ |
Improve your driver |
|
/ |
Indonesian |
|
/ |
Insert new <strong>records</strong>, update and delete the existing ones |
|
/ |
Italian |
|
/ |
Japanese |
|
/ |
Korean |
|
/ |
Latest stable version (use e.g. by <code>wget</code>) |
|
/ |
Latvian |
|
/ |
List fields, indexes, foreign keys and triggers of table |
|
/ |
Lithuanian |
|
/ |
Login |
|
/ |
Malay |
|
/ |
Manage <strong>events</strong> and <strong>table partitions</strong> (MySQL 5.1) |
|
/ |
Mobile version |
|
/ |
More |
|
/ |
News |
|
/ |
Norwegian |
|
/ |
Older versions |
|
/ |
Online demo |
|
/ |
Others can be added via plugin: |
|
/ |
Persian |
|
/ |
Plugins |
|
/ |
Polish |
|
/ |
Portuguese |
|
/ |
Print <strong>database schema</strong> connected by foreign keys |
|
/ |
References |
|
/ |
Replace <strong>phpMyAdmin</strong> with <strong>Adminer</strong> and you will get a tidier user interface, better support for MySQL features, higher performance and more security. |
|
/ |
Requirements |
|
/ |
Romanian |
|
/ |
Russian |
|
/ |
SQL command |
|
/ |
Schemas, sequences, user types (PostgreSQL) |
|
/ |
Screencast</a> about Adminer features and using plugins (19:31, by <a href="https://www.srigi.dev/">Srigi</a>) |
|
/ |
Screenshots |
|
/ |
Security is #1 priority in development of Adminer. Adminer does not allow connecting to databases without a password and it rate-limits the connection attempts to protect against brute-force attacks. Still, consider making Adminer inaccessible to public by whitelisting IP addresses allowed to connect to it, password-protecting the access in your web server, enabling security <a href="/en/plugins/">plugins</a> (e.g. to require an <acronym title="One Time Password" lang="en">OTP</acronym>) or by <a href="/en/extension/">customizing</a> the <code>login</code> method. You can also delete Adminer if not needed anymore, it is just one file which is easy to upload in the future. Adminer had some security bugs in the past so update whenever Adminer tells you there is a new version available (ask your administrator if you could not update yourself). |
|
/ |
See |
|
/ |
See detailed comparison |
|
/ |
Select an existing <strong>database</strong> or create a new one |
|
/ |
Select data |
|
/ |
Serbian |
|
/ |
Server overview |
|
/ |
Several styles by |
|
/ |
Show <strong>processes</strong> and kill them |
|
/ |
Skins |
|
/ |
Slovak |
|
/ |
Slovene |
|
/ |
Source codes |
|
/ |
Spanish |
|
/ |
Sponsors |
|
/ |
Supports PHP 5.3+, 7 and 8 with enabled sessions |
|
/ |
Supports all <strong>data types</strong>, blobs through file transfer |
|
/ |
Swedish |
|
/ |
Table overview |
|
/ |
Tamil |
|
/ |
Thai |
|
/ |
Translation: <a href="https://php.vrana.cz/">Jakub Vrána</a> |
|
/ |
Turkish |
|
/ |
Ukrainian |
|
/ |
User contributed packages |
|
/ |
Uzbek |
|
/ |
Vietnamese |
|
/ |
Why is Adminer better than phpMyAdmin? |
|
/ |
Wordpress plugin |
|
/ |
Works with |
|
/ |
blog |
|
/ |
for MySQL |
|
/ |
including |
|
/ |
screenshot |
|
/ |
through extensions: |
|
/ |
v |
|
/ |
More information |
|
/ |
Support <strong>generated columns</strong>, <strong>check constraints</strong> |
|
/donation/ |
Donation |
|
/donation/ |
If you enjoy using Adminer then consider donating. I offer nothing in return, just that I would work on Adminer when I want but that would probably happen regardless. Donation is just a form of appreciation of the author. |
|
/donation/ |
Monthly contribution using Patreon |
|
/donation/ |
One time donation using PayPal |
|
/donation/ |
You can get your logo displayed at <a href="/">adminer.org</a> for <a href="https://github.com/sponsors/vrana/sponsorships?tier_id=475674">$100/month</a>. |
|
/donation/ |
You have these options: |
|
/drivers/ |
Copy the missing function signature from <code>adminer/drivers/mysql.inc.php</code> and implement it. |
|
/drivers/ |
Drivers |
|
/drivers/ |
If it is a new feature then add this feature to <code>support</code> function. |
|
/drivers/ |
If you would like to improve a database driver for Adminer then follow these steps: |
|
/drivers/ |
Review the work by pointing your browser to <code>adminer/index.php</code>. |
|
/drivers/ |
Run <code>php compile.php $driver</code> from command line to find out which functions are not implemented. |
|
/drivers/ |
Your work will be published under the GPL + Apache License. |
|
/editor/ |
Adminer Editor is both easy-to-use and user-friendly database data editing tool written in PHP. It is suitable for common users, as it provides high-level data manipulation. |
|
/editor/ |
Allows sending messages to e-mails found in table |
|
/editor/ |
Available in Arabic, Catalan, Chinese, Czech, Dutch, English, Estonian, French, German, Hungarian, Italian, Japanese, Lithuanian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Tamil, Turkish, Ukrainian, ... |
|
/editor/ |
Displays checkbox and icons for BOOL |
|
/editor/ |
Displays images stored in BLOB |
|
/editor/ |
Documentation |
|
/editor/ |
Extensive customization options |
|
/editor/ |
Interface to select and edit data ready for your client |
|
/editor/ |
It is possible to use most of Adminer skins also with Adminer Editor. |
|
/editor/ |
Links to referenced records |
|
/editor/ |
Monthly contribution on Patreon |
|
/editor/ |
No edit or display of SQL commands (only in HTML comment) |
|
/editor/ |
OSI Days 2010 presentation |
|
/editor/ |
Separate set of login credentials different from the real database user and password |
|
/editor/ |
Single database per one instance of Editor |
|
/editor/ |
Table and column comments are displayed instead of identifiers |
|
/editor/ |
To specify own server, username, password and database name, you have to define simple customization |
|
/editor/ |
Uses national format for DATE |
|
/editor/ |
Works with the name of a referenced record, not its ID |
|
/editor/ |
download presentation and demo |
|
/editor/ |
video |
|
/extension/ |
API reference |
|
/extension/ |
Adminer also supports <a href="../plugins/">plugins</a> which are ready to use extensions. |
|
/extension/ |
Adminer screenshot with extension methods |
|
/extension/ |
Adminer specific functions: |
|
/extension/ |
Both Adminer and Editor offers support for extensions. It is possible to overwrite some default Adminer functionality by a custom code. All you need is to define the <code>adminer_object</code> function which returns an object extending the basic <code>Adminer\Adminer</code> class. Then just include the original <code>adminer.php</code> or <code>editor.php</code>: |
|
/extension/ |
Driver specific functions: |
|
/extension/ |
Editor specific functions: |
|
/extension/ |
Everything is inside the namespace <code>Adminer</code>. |
|
/extension/ |
Example: |
|
/extension/ |
Extensions |
|
/extension/ |
HTML helpers: |
|
/extension/ |
It is possible to use following functions in namespace <code>Adminer</code>. |
|
/extension/ |
Language specific functions: |
|
/extension/ |
The object can overwrite following methods: |
|
/extension/ |
To create an Adminer Editor customization for other drivers than MySQL, you have to define own <code>loginForm</code> method and fill the <code>auth[driver]</code> field value by your driver (<code>pgsql</code>, <code>sqlite</code>, ...). |
|
/extension/ |
Type aliases |
|
/extension/ |
You usually also need to implement the <code>database</code> method. |
|
/password/ |
Accessing a database without a password |
|
/password/ |
Adminer 4.6.3 and newer does not support accessing a database without a password. The reason is that a forgotten Adminer uploaded on a place accessible by an attacker could have been used to access a database. There are these options: |
|
/password/ |
Implement the <code>login</code> <a href="../extension/">method</a> to add your custom authentication. |
|
/password/ |
Set up the database server to require a password. This is possible with all databases except SQLite and SimpleDB. |
|
/password/ |
Use the <a href="https://github.com/vrana/adminer/blob/master/plugins/login-ip.php"><strong>login-ip</strong></a> <a href="../plugins/">plugin</a> to check the IP address and allow an empty password. |
|
/password/ |
Use the <a href="https://github.com/vrana/adminer/blob/master/plugins/login-password-less.php"><strong>login-password-less</strong></a> <a href="../plugins/">plugin</a> to set up a password required by Adminer but not passed to the database (<a href="https://github.com/vrana/adminer/blob/master/adminer/sqlite.php">example</a>). |
|
/phpmyadmin/ |
<a href="https://www.phpmyadmin.net/"><strong>phpMyAdmin</strong></a> is one of the most famous tools for managing the MySQL database. However, it is not perfect which is the reason why <a href="."><strong>Adminer</strong></a> 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: |
|
/phpmyadmin/ |
Adding an index is a slow operation with big tables. Adminer allows manipulation with all indexes together. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
Adminer customization for end-users: no alter table, no SQL queries, comments instead of identifiers, relations, e-mail interface, ... |
|
/phpmyadmin/ |
Adminer is 28% faster on average (according to <a href="https://php.vrana.cz/dalsi-vyvoj-phpminadmin.php#d-8348">independent test</a> by Juraj Hajdúch). |
|
/phpmyadmin/ |
Adminer is able to display the results of separate SQL queries all in one page. |
|
/phpmyadmin/ |
Adminer is also available in a MySQL-only version. |
|
/phpmyadmin/ |
Adminer offers permanent login including user list, phpMyAdmin only partial support through configuration. |
|
/phpmyadmin/ |
Adminer offers textarea with one item per line for enum type creation. |
|
/phpmyadmin/ |
Adminer provides links to documentation for all SQL keywords. |
|
/phpmyadmin/ |
Adminer works even with older versions of PHP and MySQL. phpMyAdmin requires a downgrade to work in older versions. |
|
/phpmyadmin/ |
All results are displayed on the right place. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
Apart conventional interface for manipulating foreign keys, it is possible to create a foreign key right in the create table form. |
|
/phpmyadmin/ |
Black color denotes complete translations. |
|
/phpmyadmin/ |
Blob field download |
|
/phpmyadmin/ |
Bulk editing |
|
/phpmyadmin/ |
Calling routines |
|
/phpmyadmin/ |
Calling stored procedures and functions in phpMyAdmin is possible only by creating a SQL query. Adminer offers a friendly interface. |
|
/phpmyadmin/ |
Choose operation prior editing the data. |
|
/phpmyadmin/ |
Clone row |
|
/phpmyadmin/ |
Comment |
|
/phpmyadmin/ |
Complete information, permanent login, user list. |
|
/phpmyadmin/ |
Configuration |
|
/phpmyadmin/ |
Configuration required for specifying server or for empty password. |
|
/phpmyadmin/ |
Create a new translation (if you are a native speaker). |
|
/phpmyadmin/ |
Create powerful queries easily. |
|
/phpmyadmin/ |
Create table |
|
/phpmyadmin/ |
Database list |
|
/phpmyadmin/ |
Database list is slow because it displays the number of tables. Adminer downloads this data asynchronously. |
|
/phpmyadmin/ |
Detailed knowledge of SQL syntax is required. |
|
/phpmyadmin/ |
Do not forget this step after editing the values or you will overwrite the old row. |
|
/phpmyadmin/ |
Do you think that Ctrl+Right will move you to the next word as in all input fields? Wrong - it focuses VARCHAR. |
|
/phpmyadmin/ |
Downloads in 11/2010 |
|
/phpmyadmin/ |
Enter in textarea inserts newline, Ctrl+Enter sends the form. |
|
/phpmyadmin/ |
Enum type |
|
/phpmyadmin/ |
Export formats |
|
/phpmyadmin/ |
Exporting database to LaTeX is a task that most developers solve on a daily basis. |
|
/phpmyadmin/ |
Feature |
|
/phpmyadmin/ |
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 Ctrl-click on a typo and save. |
|
/phpmyadmin/ |
Foreign keys |
|
/phpmyadmin/ |
GPL license is quite restrictive - it requires derived products to be also under GPL. |
|
/phpmyadmin/ |
GPL or Apache |
|
/phpmyadmin/ |
Icons are not supported in IE6. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
Indexes |
|
/phpmyadmin/ |
Indexes and columns are added automatically. |
|
/phpmyadmin/ |
Intuitive forms. |
|
/phpmyadmin/ |
It is not possible to alter a view in phpMyAdmin, it must be dropped and recreated manually. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
It works even from the command line. |
|
/phpmyadmin/ |
Just Ctrl-click on a value to create the input field. |
|
/phpmyadmin/ |
Just insert the values. |
|
/phpmyadmin/ |
Keyboard shortcucts |
|
/phpmyadmin/ |
Languages |
|
/phpmyadmin/ |
License |
|
/phpmyadmin/ |
Link points to interpret with ID 1. |
|
/phpmyadmin/ |
Links to MySQL documentation specific for your server version. |
|
/phpmyadmin/ |
Links to the download page. |
|
/phpmyadmin/ |
Multi-column foreign keys are not supported at all. |
|
/phpmyadmin/ |
Multiple browser tabs |
|
/phpmyadmin/ |
Multiple editing |
|
/phpmyadmin/ |
Nearly all translations in phpMyAdmin are incomplete. Common languages including <acronym title="Right To Left">RTL</acronym> are supported in both tools and both tools have an English-only version in addition to the multi-lingual version. |
|
/phpmyadmin/ |
New version notifications |
|
/phpmyadmin/ |
Nice interface but it is available only in some environments. |
|
/phpmyadmin/ |
No download without extra tables. |
|
/phpmyadmin/ |
No links without extra tables in database. |
|
/phpmyadmin/ |
Number of files |
|
/phpmyadmin/ |
Number of files and size becomes apparent when installing/copying the application to a remote server. Installing Adminer is a snap. |
|
/phpmyadmin/ |
Original will preserve the old value, +1 increases it, other value overwrite all selected rows at once. |
|
/phpmyadmin/ |
Overall performance |
|
/phpmyadmin/ |
PHP class |
|
/phpmyadmin/ |
Performance |
|
/phpmyadmin/ |
Presentation from <a href="http://en.oreilly.com/mysql2011/public/schedule/detail/17157"><strong>O'Reilly MySQL Conference</strong></a> |
|
/phpmyadmin/ |
Read all the instructions and try to orient in the small input field. |
|
/phpmyadmin/ |
Red color denotes incomplete translations. |
|
/phpmyadmin/ |
Relations |
|
/phpmyadmin/ |
SQL only |
|
/phpmyadmin/ |
SQL queries |
|
/phpmyadmin/ |
Schema |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
Security |
|
/phpmyadmin/ |
Security bugs fixed in 2010 |
|
/phpmyadmin/ |
Selecting data |
|
/phpmyadmin/ |
Simple interface working everywhere. |
|
/phpmyadmin/ |
Size |
|
/phpmyadmin/ |
Some skins are available only for older versions. |
|
/phpmyadmin/ |
Some summaries are also translated to other languages. |
|
/phpmyadmin/ |
Status variables |
|
/phpmyadmin/ |
Supported MySQL features |
|
/phpmyadmin/ |
Supported systems |
|
/phpmyadmin/ |
Synchronization |
|
/phpmyadmin/ |
Syntax highlighting |
|
/phpmyadmin/ |
The Adminer source code is well structured and kept in 70 files. The final, single file version is the result of compilation and minification. |
|
/phpmyadmin/ |
The form looks same regardless the number of fields. |
|
/phpmyadmin/ |
The form transposition based on the number of fields is a notable idea. |
|
/phpmyadmin/ |
The synchronize feature is unusable in most environments. |
|
/phpmyadmin/ |
There are several screenshots linked from the comparison table further explaining the difference. |
|
/phpmyadmin/ |
There is no way to change a field value for several rows at once in phpMyAdmin. Adminer offers both relative and absolute modifications. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
To be fair, there are also some areas where <strong>phpMyAdmin</strong> exceeds <strong>Adminer</strong>: |
|
/phpmyadmin/ |
To link data through foreign keys, you have to create an extra table and specify it in the configuration of phpMyAdmin. |
|
/phpmyadmin/ |
Triggers, routines, events |
|
/phpmyadmin/ |
Try to guess what clicking on the icon will do (it is configurable and the default behavior changed). |
|
/phpmyadmin/ |
Try to guess what each of the three empty lines mean. |
|
/phpmyadmin/ |
User experience |
|
/phpmyadmin/ |
User interface |
|
/phpmyadmin/ |
Variables |
|
/phpmyadmin/ |
Views |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
Why is better than phpMyAdmin? |
|
/phpmyadmin/ |
Would you believe that the result relates to the first query and the second result is not displayed at all? |
|
/phpmyadmin/ |
XML and other formats can be added through customization. |
|
/phpmyadmin/ |
XML format completely changed between versions. |
|
/phpmyadmin/ |
You can <a href="../#download">change it</a> this month! |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
You have to remember the name and parameters of routine. |
|
/phpmyadmin/ |
You have to select rows in the first step, this is the second step. |
|
/phpmyadmin/ |
absent |
|
/phpmyadmin/ |
all at once |
|
/phpmyadmin/ |
always |
|
/phpmyadmin/ |
automatic |
|
/phpmyadmin/ |
blocking |
|
/phpmyadmin/ |
comfortable |
|
/phpmyadmin/ |
complete |
|
/phpmyadmin/ |
complicated |
|
/phpmyadmin/ |
confusing |
|
/phpmyadmin/ |
documentation links |
|
/phpmyadmin/ |
download |
|
/phpmyadmin/ |
e-mail |
|
/phpmyadmin/ |
error-prone |
|
/phpmyadmin/ |
extra tables |
|
/phpmyadmin/ |
fast |
|
/phpmyadmin/ |
friendly |
|
/phpmyadmin/ |
full support |
|
/phpmyadmin/ |
functions, grouping |
|
/phpmyadmin/ |
handy |
|
/phpmyadmin/ |
inside Adminer |
|
/phpmyadmin/ |
intuitive |
|
/phpmyadmin/ |
lacking |
|
/phpmyadmin/ |
limited |
|
/phpmyadmin/ |
miserable |
|
/phpmyadmin/ |
no alter |
|
/phpmyadmin/ |
no create, alter manually |
|
/phpmyadmin/ |
no description |
|
/phpmyadmin/ |
no links |
|
/phpmyadmin/ |
non-blocking |
|
/phpmyadmin/ |
not smart |
|
/phpmyadmin/ |
obstructive |
|
/phpmyadmin/ |
official documentation |
|
/phpmyadmin/ |
one at a time |
|
/phpmyadmin/ |
one result |
|
/phpmyadmin/ |
one-line summary |
|
/phpmyadmin/ |
partial |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
phpMyAdmin displays an on-line summary for some status variables, Adminer links to the official documentation. |
|
/phpmyadmin/ |
phpMyAdmin does not display any description for variables, Adminer links to the official documentation. |
|
/phpmyadmin/ |
phpMyAdmin does not offer an interface for creating these objects and has only primitive functionality for altering them. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
phpMyAdmin offers very simple customizations through special tables. Adminer offers advanced customization through a PHP extension class. |
|
/phpmyadmin/ |
phpMyAdmin skin requires creating over 100 icons. |
|
/phpmyadmin/ |
phpMyAdmin still fails to address serious security issues such as ClickJacking from the same domain or Referer Leakage. |
|
/phpmyadmin/ |
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. |
|
/phpmyadmin/ |
phpMyAdmin usually requires at least some configuration, Adminer just works. |
|
/phpmyadmin/ |
present |
|
/phpmyadmin/ |
requires remote access |
|
/phpmyadmin/ |
restricted |
|
/phpmyadmin/ |
safe |
|
/phpmyadmin/ |
several results |
|
/phpmyadmin/ |
slow |
|
/phpmyadmin/ |
smart |
|
/phpmyadmin/ |
trivial |
|
/phpmyadmin/ |
unlimited |
|
/phpmyadmin/ |
up-to-date |
|
/phpmyadmin/ |
usually necessary |
|
/phpmyadmin/ |
works anywhere |
|
/phpmyadmin/ |
zero configuration |
|
/plugins/ |
AI prompt in SQL command generating the queries with <a href="https://gemini.google.com/">Google Gemini</a> |
|
/plugins/ |
Add "Distinct" on each column |
|
/plugins/ |
Add a server-specific CSS file to the current theme |
|
/plugins/ |
Adds buttons to cells to create UUIDs |
|
/plugins/ |
Adminer 5 plugins require using a namespace. Older plugins can be converted <a href="https://php.vrana.cz/adminer-5-0-0.php#plugins">by a script</a>. |
|
/plugins/ |
Adminer and Adminer Editor can be extended by plugins. |
|
/plugins/ |
Allow sending e-mails to addresses in table |
|
/plugins/ |
Allow switching designs |
|
/plugins/ |
Allow using Adminer inside a frame |
|
/plugins/ |
Allows login without password from localhost |
|
/plugins/ |
Authenticate a user from the <code>login</code> table |
|
/plugins/ |
Authenticate and auto-check host by ISPConfig Remote API |
|
/plugins/ |
Autocomplete SQL for keywords, tables and columns using Ace Editor |
|
/plugins/ |
Check IP address and allow empty password |
|
/plugins/ |
Collapse tables (needs jQuery and jQuery cookie libraries) |
|
/plugins/ |
Configure menu table links; combinable with AdminerConfig |
|
/plugins/ |
Configure options by end-users and store them to a cookie |
|
/plugins/ |
Connect to MySQL, PostgreSQL or MS SQL using SSL |
|
/plugins/ |
Copy cell content to clipboard using right click |
|
/plugins/ |
Create a class containing any methods defined in the <code>Adminer</code> class |
|
/plugins/ |
Custom character sets in collation select boxes |
|
/plugins/ |
Disable foreign key checks for selected queries |
|
/plugins/ |
Disable tables based on the name |
|
/plugins/ |
Disable version checker |
|
/plugins/ |
Display <a href="https://jqueryui.com/">jQuery UI</a> <a href="https://trentrichardson.com/examples/timepicker/">Timepicker</a> for each date and datetime field |
|
/plugins/ |
Display JSON values as table |
|
/plugins/ |
Display JSON values as table in edit |
|
/plugins/ |
Display a list of predefined database servers in login form |
|
/plugins/ |
Display a list of predefined database servers to login with just one click |
|
/plugins/ |
Display colors if color codes (HEX, RGB) are present in cells |
|
/plugins/ |
Display confirmation before unloading page if a form field was changed |
|
/plugins/ |
Display constant list of servers in login form |
|
/plugins/ |
Display links to tables referencing current row, same as in Adminer Editor |
|
/plugins/ |
Display list of predefined servers with different drivers in login form |
|
/plugins/ |
Display related rows from different tables in one page |
|
/plugins/ |
Display serialized PHP values as table in edit |
|
/plugins/ |
Display the first CHAR/VARCHAR column of a foreign key |
|
/plugins/ |
Display views in Adminer Editor |
|
/plugins/ |
Displays only the prefered action in table menu |
|
/plugins/ |
Driver for |
|
/plugins/ |
Driver plugins |
|
/plugins/ |
Dump to Bzip2 format |
|
/plugins/ |
Dump to JSON format |
|
/plugins/ |
Dump to PHP format |
|
/plugins/ |
Dump to XML format in structure <code class="jush-xml"><database name=""><table name=""><column name="">value</code> |
|
/plugins/ |
Dump to XML format specifically PHPUnit's XML DataSet structure |
|
/plugins/ |
Dump to ZIP format |
|
/plugins/ |
Edit all fields containing <code>_html</code> by HTML editor <a href="https://www.tiny.cloud/">TinyMCE</a> and display the HTML in select |
|
/plugins/ |
Edit fields ending with <code>_path</code> by <code class="jush"><input type="file"></code> and link to the uploaded files from select |
|
/plugins/ |
Enable login without password |
|
/plugins/ |
Excel-like behaviour with auto-complete in the search-fields |
|
/plugins/ |
Execute writes on master and reads on slave |
|
/plugins/ |
Expanded table indexes structure output |
|
/plugins/ |
Expanded table structure output |
|
/plugins/ |
Export as PHP code for Nette |
|
/plugins/ |
Export table data as markdown |
|
/plugins/ |
Export table data to JSON (needs symfony/var-dumper) |
|
/plugins/ |
Export table data to PHP arrays |
|
/plugins/ |
Export table data to XLSX (needs SheetJS and FileSaver.js libraries) |
|
/plugins/ |
Export table structure as markdown |
|
/plugins/ |
Exports one database (e.g. development) so that it can be synced with other database (e.g. production) |
|
/plugins/ |
Filter names in tables list |
|
/plugins/ |
Filter tables menu faster than the official plugin |
|
/plugins/ |
Filter tables menu, works only with custom themes where table list is floated (needs jQuery library) |
|
/plugins/ |
Floating table headers (needs jQuery and floatThead) |
|
/plugins/ |
Fuzzy search (filter) in tables list |
|
/plugins/ |
Generate SQL queries from natural language prompts using ChatGPT |
|
/plugins/ |
Generates an AI-friendly markdown schema for your database or selected tables |
|
/plugins/ |
Get e-mail subject and message from database (Adminer Editor) |
|
/plugins/ |
Hide columns from tables by Alt+click on column header |
|
/plugins/ |
Hide some databases from the interface - just to improve design, not a security plugin |
|
/plugins/ |
Hide tables from table menu |
|
/plugins/ |
If the plugin needs some configuration or you want to specify order of the plugins, use <code>adminer-plugins.php</code>: |
|
/plugins/ |
If these methods return a non-<code class="jush-php">null</code> value then it will be used instead of the original (except <code>config</code>, <code>dumpFormat</code>, <code>dumpOutput</code>, <code>editRowPrint</code>, <code>editFunctions</code> where the return value is appended to the original) |
|
/plugins/ |
If you would like to publish the plugin on this page then upload it somewhere (e.g. to <a href="https://gist.github.com/">GitHub Gist</a>) and send the link to: |
|
/plugins/ |
Import SQL files from server's disc |
|
/plugins/ |
Include current date and time in export filename |
|
/plugins/ |
Keep columns and table headers always in sight when scrolling |
|
/plugins/ |
Keep table headers always in sight when scrolling |
|
/plugins/ |
Link system tables (in <code>mysql</code> and <code>information_schema</code> databases) by foreign keys |
|
/plugins/ |
Links for foreign keys by convention <code>user_id</code> => <code>users.id</code> |
|
/plugins/ |
Load <code>adminer.js</code> |
|
/plugins/ |
Load images from their URL and show them in the tables |
|
/plugins/ |
Log all queries to SQL file |
|
/plugins/ |
Login from external source without exposing credentials |
|
/plugins/ |
Methods can also overwrite their parameters by accepting them by reference: <code class="jush-php">f(&$param)</code>. |
|
/plugins/ |
Nette framework user login |
|
/plugins/ |
Objects not found in current scheme are also searched for in the public scheme (PostgreSQL only) |
|
/plugins/ |
Pin favorite tables in table menu (needs jQuery library) |
|
/plugins/ |
Prefill field containing <code>_slug</code> with slugified value of a previous field (JavaScript) |
|
/plugins/ |
Pretty print JSON values in edit |
|
/plugins/ |
Red top border indicates production server |
|
/plugins/ |
Remembers and restores scollbar position of side menu |
|
/plugins/ |
Replaces UNIX timestamps with human-readable dates in your local format |
|
/plugins/ |
Require One Time Password at login |
|
/plugins/ |
Resize table menu (needs jQuery and jQuery cookie libraries) |
|
/plugins/ |
Responsive touch-friendly theme |
|
/plugins/ |
Save position of the menu in designs with separate menu scrolling |
|
/plugins/ |
Save queries as favorites |
|
/plugins/ |
Select foreign key in edit form |
|
/plugins/ |
Set up driver, server and database to use with Adminer Editor |
|
/plugins/ |
Show column comments in table headers |
|
/plugins/ |
Show comments of sql structure in more places (mainly where you edit things) |
|
/plugins/ |
Show links to related tables by foreign key |
|
/plugins/ |
Show one table row on a single page |
|
/plugins/ |
Show only tables with user set prefixes |
|
/plugins/ |
Show the history of the last selected tables |
|
/plugins/ |
Suggest fields and table names in sql editor |
|
/plugins/ |
Switch themes from browser or command line |
|
/plugins/ |
To create a new plugin |
|
/plugins/ |
To use a plugin |
|
/plugins/ |
To use a plugin, upload it to <code>adminer-plugins/</code> directory next to <code>adminer.php</code> file. |
|
/plugins/ |
Translate all table and field comments, <code class="jush-sql">enum</code> and <code>set</code> values from the <code>translation</code> table (automatically inserts new translations) |
|
/plugins/ |
Upload images from Adminer to server's disc (needs WebcamJS library) |
|
/plugins/ |
Use <a href="https://codemirror.net/5/" target="_blank">CodeMirror 5</a> for syntax highlighting and <code class="jush"><textarea></code> including type-ahead of keywords and tables |
|
/plugins/ |
Use <code class="jush"><select><option></code> for <code class="jush-sql">enum</code> edit instead of <code class="jush"><input type="radio"></code> |
|
/plugins/ |
Use <code class="jush"><textarea></code> for <code class="jush-sql">char</code> and <code class="jush-sql">varchar</code> |
|
/plugins/ |
User contributed plugins |
|
/plugins/ |
User interface inspired by the Bootstrap Framework with Font-Awesome icons. |
|
/plugins/ |
Verify new versions <a href="https://github.com/vrana/adminer/releases">from GitHub</a> |
|
/plugins/ |
You can specify all plugins here or just the ones needing configuration. |
|
/plugins/ |
You can upload <a href="#driver">driver plugins</a> to <code>adminer-plugins/</code> too. |
|
/plugins/ |
documentation |
|
/plugins/ |
example |
|
/plugins/ |
instructions |
|
/plugins/ |
screencast |
|
/plugins/otp/ |
Adminer login form |
|
/plugins/otp/ |
Create this file: |
|
/plugins/otp/ |
Customization |
|
/plugins/otp/ |
Enter the OTP generated by the app (6 digits). OTP is derived from the current time so it's important to have the correct time on the phone and on the server. |
|
/plugins/otp/ |
Generate |
|
/plugins/otp/ |
Issuer |
|
/plugins/otp/ |
Note: The unique secret was randomly generated on this server (and not stored anywhere). You might want to generate the secret and the QR code without using third-party, e.g. with <a href="https://github.com/sonata-project/GoogleAuthenticator">a library</a> or <a href="https://php.vrana.cz/jednorazove-heslo.php">simple functions</a>. |
|
/plugins/otp/ |
QR code |
|
/plugins/otp/ |
Scan this QR code to <a href="https://support.google.com/accounts/answer/1066447" target="_blank">Google Authenticator</a> or a similar application. |
|
/plugins/otp/ |
The login form now should look like this: |
|
/plugins/otp/ |
To require a One-time password (Two-factor authentication) for logging to Adminer: |
|
/plugins/otp/ |
Upload <a href="https://github.com/vrana/adminer/raw/master/plugins/login-otp.php">login-otp.php</a> into a directory named <code>adminer-plugins/</code>. |
|
/plugins/otp/ |
User |
|
/plugins/otp/ |
store original adminer.php somewhere not accessible from web |
|
/screencast/ |
Screencast |
|
/security/ |
Adminer checks for availability of new version. |
|
/security/ |
Adminer has a protection against these attacks: |
|
/security/ |
Adminer uses <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP#strict_csp" target="_blank">strict Content-Security-Policy (CSP)</a> which adds a second layer of protection against XSS and other attacks. |
|
/security/ |
except when explicitly allowed, e.g. in SQL query |
|
/security/ |
log in without password is not allowed |
|
/security/ |
more information in Czech |
|
/security/ |
passwords used for permanent login are encrypted by a random key |
|
/security/ |
two protections: SameSite cookies and CSRF nonce |
|
/translation/ |
Add a value into the <code>$langs</code> array in file <code>adminer/include/lang.inc.php</code>. |
|
/translation/ |
Add missing translations. |
|
/translation/ |
Copy file <code>adminer/lang/xx.inc.php</code> to <code>adminer/lang/__.inc.php</code>, where <code>__</code> is your <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1 language code</a>. |
|
/translation/ |
Download <a href="https://github.com/vrana/adminer">current source codes</a> from Git. |
|
/translation/ |
If you would like to create a new translation for Adminer then follow these steps: |
|
/translation/ |
Plurals should be translated as arrays: <code class="jush-php">'%d beer(s)' => array('%d beer', '%d beers')</code>. If your language uses other rules than English (singular for 1, plural for anything else) then indicate this in comment. |
|
/translation/ |
Review the translation by pointing your browser to <code>adminer/index.php</code>. |
|
/translation/ |
Run <code>lang.php xx</code> where <code>xx</code> is your language code. |
|
/translation/ |
Send a pull request <a href="https://github.com/vrana/adminer/pulls">on GitHub</a>. |
|
/translation/ |
Thanks for your contribution! |
|
/translation/ |
The translation will be published under the Apache and GPL Licenses. |
|
/translation/ |
To update an existing translation |
|
/translation/ |
Translate all values in the <code>$translations</code> array. |
|
/translation/ |
Translations |
|
/translation/ |
Update web translations |
|
/translation/ |
Use UTF-8 encoding. |
|
/translations/ |
Propose |
|
/translations/ |
Thank you for your proposal. |
|
/error |
The requested URL was not found on this server. |
|
/error |
The server encountered an internal error and was unable to complete your request. Please try again later. |
|
/plugins/ |
Allow switching light and dark mode |
|
/plugins/ |
Color ribbon based on server |
|
/plugins/ |
Fill login form by set values |
|
/plugins/ |
SQLite: Show only list of DBs and password in login form |
|
/plugins/ |
Use <a href="https://prism-code-editor.netlify.app/">Prism Code Editor</a> for syntax highlighting and <code class="jush"><textarea></code> |
|
/plugins/ |
Use VS Code's <a href="https://microsoft.github.io/monaco-editor/">Monaco Editor</a> for syntax highlighting and SQL <code class="jush"><textarea></code> |
|
/plugins/ |
last update |
|
/plugins/ |
Newest first |
|
/plugins/ |
Sort by name |
|
/redirect/ |
Redirect |
|
/redirect/ |
The previous page is sending you to: |
|
/redirect/ |
Update Adminer to avoid this page. |
|