Cómo instalar y administrar bases de datos con Adminer en Linux
Si estás creando una aplicación web utilizando Linux, es probable que te encuentres a merced de las herramientas de administración de MySQL en línea de comandos que se incluyen con esa base de datos. Si bien estas herramientas son bastante robustas, pueden ser complicadas para desarrolladores menos experimentados. Incluso si eres un desarrollador más experimentado, hay muchas ocasiones en las que no quieres complicarte con el proceso de ingresar largos lotes de comandos.
Las herramientas gráficas, especialmente las basadas en web, pueden simplificar las tareas de administración de bases de datos. Y en concordancia con el tema de la simplicidad, Adminer cumple espectacularmente. Adminer es un script PHP que puedes copiar en tu servidor web y, sin necesidad de configuración alguna, puedes comenzar a administrar casi cualquier base de datos que se ejecute en la mayoría de las principales aplicaciones de servidor de bases de datos.
Este tutorial te brindará un breve repaso de cómo configurar un entorno LAMP y cómo hacer que Adminer funcione sobre él.
Qué necesitarás para instalar Adminer
Para hacer que Adminer funcione, necesitarás una instancia de Ubuntu Server. Estoy haciendo la demostración en la versión 23.04, pero también puedes utilizar las versiones 22.04 o 20.04. Además, necesitarás un usuario con privilegios de sudo. Eso es todo. Hagamos algo de magia con bases de datos.
Cómo instalar MySQL
Voy a demostrarte cómo configurar Adminer con la base de datos MySQL. Para asegurarnos de instalar todo, instalaremos el stack completo LAMP: Linux, Apache, MySQL y PHP.
- Primero, ejecuta el siguiente comando:
sudo apt-get install lamp-server^ -y
- Una vez que la instalación se complete, inicia y habilita los servicios de MySQL y Apache con los siguientes comandos:
sudo systemctl enable --now apache2 sudo systemctl enable --now mysql
- A continuación, asegura la instalación de MySQL y asigna una contraseña al usuario administrador con el siguiente comando:
sudo mysql_secure_installation
Puedes seguir las indicaciones para configurar MySQL correctamente. Si necesitas más información al respecto, consulta la guía "Configuración de MySQL y MariaDB".
Cómo instalar y administrar bases de datos con Adminer en LinuxCómo instalar Adminer con MySQL
Adminer se ejecuta como un script PHP que puedes descargar directamente en el directorio webroot de tu servidor Linux mediante la utilidad wget
. Si instalaste Apache a través del paquete lamp-server
, el directorio webroot predeterminado es /var/www/html y este directorio es propiedad de root. A menos que cambies estas configuraciones por defecto, tendrás que utilizar sudo
para descargar e instalar Adminer. A día de hoy, la versión más reciente de Adminer es la 4.8.1.
Los siguientes comandos te mostrarán cómo acceder al directorio /var/www/html y descargar el código PHP de Adminer directamente en él:
cd /var/www/html sudo wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php
Si el enlace anterior no funciona, puedes buscar en el sitio web de Adminer el enlace correcto a la última versión. Si todo funciona correctamente, deberías ver algo similar a la Figura A.
Figura A
Cómo acceder a la interfaz web de Adminer
Aunque parezca increíble, eso es todo lo necesario para la instalación. Sin embargo, no puedes iniciar sesión utilizando las credenciales de administrador de MySQL. En cambio, debes crear otro usuario que tenga permisos para crear bases de datos. Para hacerlo:
¡Aprende IT de manera completa por solo $20 hasta el 23 de octubre!- Inicia la consola de MySQL con el siguiente comando:
sudo mysql
- Crea un nuevo usuario, lo llamaremos dbadmin, pero puedes elegir cualquier nombre, con el siguiente comando:
CREATE USER 'dbadmin'@'%' IDENTIFIED BY 'CONTRASEÑA';
Donde CONTRASEÑA es una contraseña fuerte/única.
- Concede al usuario permisos para recargar los privilegios globales con:
GRANT CREATE USER, RELOAD ON *.* TO 'dbadmin'@'%';
- Concede los permisos necesarios con:
GRANT ALL ON `db`.* TO 'dbadmin'@'%' WITH GRANT OPTION;
Observa que en el comando anterior, a ambos lados de db hay acentos graves y no comillas simples. Si ejecutas el comando con comillas simples, mostrará un error.
- Por último, concede al usuario privilegios para crear con:
GRANT CREATE, CREATE USER, SELECT, RELOAD ON *.* TO 'dbadmin'@'%';
- Actualiza los privilegios y sal con:
FLUSH PRIVILEGES; exit
Ahora puedes abrir un navegador web y dirigirte a
http://SERVIDOR/adminer-4.8.1.php
Donde SERVIDOR es la dirección IP del servidor de alojamiento, y te dará la bienvenida la ventana de inicio de sesión de Adminer (Figura B).
Figura B
Los mejores plataformas de desarrollo de bajo código para desarrolladoresEn este punto, deberías poder crear y modificar bases de datos a tu gusto (Figura C). Ten en cuenta que tu acceso está limitado por los permisos de la cuenta que utilizas para conectarte a la base de datos.
Figura C
Y así de fácil es instalar y poner en funcionamiento Adminer sobre una base de datos MySQL. Dale una oportunidad a esta plataforma con la base de datos con la que necesites trabajar y comprueba si no hace considerablemente más fácil tu trabajo.
¿Por qué deberías elegir Adminer?
Adminer ofrece naturalmente las funcionalidades que esperarías de una herramienta de administración de bases de datos basada en web:
- Conexión a un servidor de base de datos mediante nombre de usuario y contraseña.
- Creación de bases de datos.
- Listado por campos, índices, claves foráneas y desencadenadores de tablas.
- Edición de nombre, motor, ordenación, incremento automático y comentario de tablas.
- Modificación de nombre, tipo, ordenación, comentario y valores predeterminados de columnas.
- Agregar y eliminar tablas o columnas.
- Listado de datos en tablas con búsqueda, agregación, ordenamiento y límite de resultados.
- Inserción, actualización y eliminación de registros.
- Compatibilidad con todos los tipos de datos y blobs mediante transferencia de archivos.
- Ejecución de cualquier comando SQL.
- Visualización y finalización de procesos.
- Visualización y edición de usuarios y permisos.
Adminer va más allá de la mayoría de las herramientas gráficas de administración de bases de datos, ya que admite muchos otros sistemas de gestión de bases de datos relacionales además de MySQL, incluidos MariaDB, PostgreSQL, SQLite, MS SQL, Oracle, Elasticsearch y MongoDB. En este sentido, Adminer brinda la utilidad de una herramienta de administración de bases de datos basada en web y la comodidad de poder administrar múltiples sistemas de bases de datos con una sola herramienta de fácil instalación.
12 Mejores Prácticas para el Desarrollo de JavaScript: CódigoConsideraciones de seguridad
Desafortunadamente, la conveniencia introducida por cualquier solución de administración de bases de datos basada en web conlleva importantes riesgos de seguridad. Esto se debe a que una solución de administración de bases de datos basada en web puede eludir cualquier restricción basada en red impuesta a una base de datos.
Por ejemplo, podrías tener un sitio de WordPress en ejecución en Apache en un servidor web público que utiliza un servidor MySQL en un servidor privado. En este escenario, MySQL está configurado con una cuenta de usuario que solo puede acceder al servidor MySQL desde el servidor de WordPress. Incluso si alguien tiene el nombre de usuario y la contraseña de esta cuenta, la seguridad incorporada de MySQL no permitirá el acceso.
Es imperativo restringir el acceso a cualquier servidor web en el que se haya instalado Adminer para que no sea accesible de forma pública. De lo contrario, cualquier persona en el mundo obtendrá acceso administrativo a cualquier base de datos a la que Adminer tenga acceso. Puede que desees considerar colocar dicho servidor detrás de una VPN o un firewall que restrinja adecuadamente el acceso solo a aquellos que deberían tenerlo.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollador, allí encontraras muchos artículos similares a Cómo instalar y administrar bases de datos con Adminer en Linux , tenemos lo ultimo en tecnología 2023.