Bases de Datos

Qué es Adminer, el gestor de bases de datos de un solo archivo

Autorangel cruz
Actualizado
Publicado
Lectura7 min de lectura
Qué es Adminer, el gestor de bases de datos de un solo archivo

Adminer, que empezó llamándose phpMinAdmin, es una herramienta de gestión de bases de datos escrita en PHP. Su característica principal es que todo cabe en un único archivo .php: lo subes al servidor, lo abres en el navegador y ya tienes un gestor completo. No hay carpeta vendor, ni assets sueltos, ni instalador.

Escribí este artículo en 2019 porque en el trabajo me preguntaban por qué usaba Adminer en lugar de phpMyAdmin. Lo actualizo ahora con la salida de Adminer 6.0.0 (7 de agosto de 2026), que trae más de 130 cambios y algunos que rompen compatibilidad.

Por qué Adminer y no phpMyAdmin

La comparación es la razón de ser de este post, así que va primero:

Criterio Adminer phpMyAdmin
Instalación Copiar un archivo Descomprimir un proyecto completo
Tamaño 249 kB (variante MySQL, solo inglés) a 492 kB (versión completa) Varios MB repartidos en cientos de archivos
Motores MySQL, MariaDB, PostgreSQL, CockroachDB, SQLite, MS SQL, Oracle (y más vía plugins) MySQL y MariaDB
Actualizar Reemplazar el archivo Reemplazar el árbol de archivos

El punto práctico es el despliegue. Cuando necesitas mirar una base de datos en un servidor al que solo llegas por SFTP, subir un archivo y borrarlo al terminar es una operación de treinta segundos. Y como el gestor es multi-motor, la misma herramienta te sirve para el MySQL de un proyecto y el PostgreSQL de otro.

phpMyAdmin sigue siendo más completo en funciones específicas de MySQL (gestión de replicación, por ejemplo). Si vives dentro de un único servidor MySQL grande, la elección no es obvia. Para todo lo demás, Adminer gana por simplicidad.

Bases de datos soportadas

En Adminer 6 los drivers se dividen en dos grupos. Incluidos en el archivo principal:

  • MySQL y MariaDB
  • PostgreSQL y CockroachDB
  • SQLite
  • MS SQL
  • Oracle

Disponibles como plugin de driver:

  • Elasticsearch
  • MongoDB
  • Redis
  • ClickHouse
  • Firebird
  • SimpleDB
  • IMAP
  • IGDB

Si vienes de una versión antigua, ojo con esto: MongoDB, Elasticsearch, Firebird y SimpleDB ya no vienen de serie, hay que añadir el plugin correspondiente.

Instalación

Descarga el archivo desde adminer.org y déjalo donde tu servidor pueda servirlo:

curl -L -o adminer.php https://www.adminer.org/latest.php

Requiere PHP con sesiones habilitadas. El paquete de Composer declara php >= 7.4 junto a las extensiones json y session, así que esa es la referencia razonable para una instalación nueva.

Desde la versión 6 también puedes instalarlo con Composer, además de los submódulos de Git que ya existían:

composer require vrana/adminer

Hay variantes de descarga que reducen el peso: solo inglés (sin las traducciones) y específica para MySQL. Si el servidor es de producción, la variante mínima es la que quieres.

Personalizar la apariencia

La vista por defecto es funcional pero austera. Puedes cambiarla con un archivo CSS junto al .php:

  • adminer.css para el tema claro
  • adminer-dark.css para el tema oscuro

Si solo pones adminer.css, Adminer asume tema claro. Si están los dos, cambia automáticamente según la preferencia del sistema. También existe el plugin designs para cargar temas desde una carpeta designs/.

Novedades de Adminer 6.0.0

La versión mayor salió el 7 de agosto de 2026 y agrupa más de 130 cambios. Estos son los que más te van a afectar.

Seguridad

Es el bloque más importante, y el que puede dejarte fuera de un servidor:

  • Bloqueo de logins sin contraseña. La 4.6.3 ya prohibía entrar sin contraseña; ahora también se bloquea la conexión a servidores que aceptan cualquier contraseña. Si tenías un MySQL de desarrollo con root sin password, deja de funcionar. Para ese caso está el plugin login-password-less, que no manda contraseña al servidor pero te obliga a proteger el propio Adminer con un hash de password_hash().
  • Protección del operador SQL usado con JSON. Ahora exige la cabecera Sec-Fetch-Site: same-site, y en PostgreSQL las consultas se ejecutan como READ ONLY y limitadas a una sola sentencia.

Interfaz

  • Los checkboxes y los enlaces de acción de cada fila salieron fuera de la tabla, así los datos se leen mejor.
  • Las URLs son mucho más legibles: where[0][col] en lugar de where%5B0%5D%5Bcol%5D.
  • Los formularios dejan de enviar campos vacíos, lo que acorta las URLs.
  • Las funciones de edición sin parámetros (como NOW()) ya no muestran un campo de entrada inútil.

Plugins nuevos

  • remote-color: barra de aviso cuando estás conectado a un servidor de producción. Este solo ya justifica la actualización.
  • login-passkey: autenticación con passkeys.
  • import-csv: importar CSV detectando la estructura de la tabla automáticamente.
  • select-image: mostrar imágenes en los resultados de una consulta.

En el mismo movimiento se eliminaron ocho plugins que nadie usaba.

Cambios técnicos

  • Los manejadores de eventos pasan de onclick inline a atributos data-onclick, lo que hace a Adminer compatible con Content Security Policy sin unsafe-inline.
  • Funciona con JavaScript desactivado mediante <noscript><iframe sandbox>.
  • Verificación de versión para plugins, drivers y temas.
  • El objetivo de JavaScript es ES6, es decir, navegadores de 2018 en adelante.
  • Los tests end-to-end migraron de Katalon a Playwright, y se añadió ESLint a los checks que ya existían con PHP_CodeSniffer y PHPStan.
  • La rama principal del repositorio se renombró de master a main.

Un detalle que vale la pena mencionar: el autor, Jakub Vrána, cuenta en el anuncio que la mayoría de los cambios se crearon con la asistencia de Claude Opus 5, y que la revisión cuidadosa fue lo que evitó acumular deuda técnica.

Qué revisar antes de actualizar

  1. Credenciales. Si algún entorno entra sin contraseña o contra un servidor permisivo, la 6.0.0 lo va a rechazar.
  2. Drivers. Comprueba que el motor que usas sigue en el archivo principal o añade su plugin.
  3. Plugins y temas propios. Ahora hay verificación de versión, así que los que escribiste tú necesitan declararla.
  4. CSP. Si tenías una excepción de unsafe-inline solo por Adminer, ya puedes quitarla.

Preguntas frecuentes

¿Qué versión de PHP necesita Adminer 6.0.0?

El paquete de Composer declara php >= 7.4 más las extensiones json y session. En el navegador, el objetivo es ES6, es decir, cualquier navegador de 2018 en adelante.

¿Adminer todavía soporta MongoDB y Elasticsearch?

Sí, pero como plugin de driver, no dentro del archivo principal. Lo mismo pasa con Redis, ClickHouse, Firebird, SimpleDB, IMAP e IGDB. En el archivo único vienen MySQL, MariaDB, PostgreSQL, CockroachDB, SQLite, MS SQL y Oracle.

¿Es seguro dejar Adminer en un servidor de producción?

Un archivo PHP accesible públicamente que habla con tu base de datos es una superficie de ataque. Lo recomendable es subirlo, usarlo y borrarlo, o protegerlo detrás de autenticación del servidor y restricción por IP (existe el plugin login-ip). La 6.0.0 ayuda bloqueando logins sin contraseña y añadiendo el plugin remote-color, que pinta un aviso cuando estás conectado a producción.

¿Actualizar a Adminer 6.0.0 rompe algo?

Puede. Los dos casos más probables son entrar a un servidor que acepta cualquier contraseña, que ahora se bloquea, y usar un motor que dejó de venir en el archivo principal. Los plugins y temas propios también necesitan declarar su versión.

Recursos