Instalar un servidor local web en Linux con Apache, PHP y PhpMyAdmin (IV): instalar phpMyAdmin

localhost-phpmyadmin

Instalar phpMyAdmin en un servidor local Linux basado en Debian

Lo primero, antes de la instalación, veamos qué es y para qué sirve phpMyAdmin:

phpMyAdmin: Gestión de Bases de Datos MySQL de forma sencilla
phpMyAdmin es una herramienta de software libre escrita en PHP que permite la administración de bases de datos MySQL (o compatibles, como MariaDB) a través de una interfaz web intuitiva. Su principal función es facilitar la gestión de bases de datos, tablas, campos, relaciones, índices, usuarios y permisos, todo ello sin necesidad de utilizar la línea de comandos.

Con phpMyAdmin, los usuarios pueden realizar tareas comunes como crear, modificar y eliminar bases de datos y tablas, así como importar y exportar datos en diversos formatos (como SQL, CSV y XML). También permite ejecutar consultas SQL directamente y visualizar resultados de manera sencilla.

Es especialmente útil para desarrolladores y administradores de sistemas que buscan una forma eficiente y accesible de gestionar sus bases de datos, haciendo que la administración de MySQL sea más accesible tanto para principiantes como para expertos.

Ahora que ya tenemosnuestro servidor Apache y PHP (versión 8.1 en mi caso) y MariaDB instalados en nuestro servidor local Linux (un Ubunte MATE), vamos a describir los pasos para instalar y poner en marcha el gestor de bases de datos phpMyAdmin:

1. Instala phpMyAdmin

Abre una terminal y ejecuta el siguiente comando para instalar phpMyAdmin:

sudo apt install phpmyadmin

2. Configura la instalación

Durante la instalación, se te pedirá que elijas el servidor web que deseas configurar. Selecciona Apache y presiona `Enter`.

Luego, se te preguntará si deseas usar `dbconfig-common` para configurar la base de datos. Selecciona y proporciona la información de la base de datos cuando se te solicite (nombre de usuario y contraseña de MySQL).

3. Configura Apache para phpMyAdmin

Si no se configuró automáticamente, puedes agregar phpMyAdmin a la configuración de Apache. Abre el archivo de configuración de Apache:

sudo nano /etc/apache2/apache2.conf

Agrega la siguiente línea al final del archivo:

Include /etc/phpmyadmin/apache.conf

Guarda y cierra el archivo (en nano, presiona `CTRL + X`, luego `Y` y `Enter`).

4. Habilita las extensiones necesarias

Asegúrate de que las extensiones de PHP necesarias estén habilitadas. Puedes habilitar las extensiones de MySQL y otras que puedan ser necesarias con los siguientes comandos:

sudo phpenmod mysqli
sudo phpenmod mbstring

5. Reinicia Apache

Reinicia el servidor web para aplicar los cambios:

sudo systemctl restart apache2

6. Accede a phpMyAdmin

Ahora puedes acceder a phpMyAdmin abriendo un navegador web y yendo a la siguiente URL: http://localhost/phpmyadmin

7. Inicia sesión

Usa el nombre de usuario y la contraseña de MySQL que configuraste durante la instalación para iniciar sesión.

A tener en cuenta:

– Si quieres mayor seguridad, considera cambiar el nombre de usuario y la contraseña de phpMyAdmin y configurar medidas adicionales como la autenticación HTTP.
– También puedes considerar configurar un firewall para proteger tu servidor. En mi caso, al ser un servidor local para desarrollo, para aprender, no lo considero necesario.

phpmyadmin en localhost

 

NOTA: El «año que viene» seguiremos con más artículos sobre este interesante sistema de gestión de bases de datos. Feliz año!

 

Principales comandos de MariaDB

mariadb_comandos

Como ya hemos visto, (instalar MariaDB en un servidor local), MariaDB es un sistema de gestión de bases de datos relacional (SGBD) que es un fork de MySQL.

MariaDB utiliza SQL como su lenguaje de consulta, al igual que MySQL y PostgreSQL), mientras que SQL (Structured Query Language) es un lenguaje estándar utilizado para interactuar con bases de datos.

Adjunto un listado de los principales comandos de MariaDB con ejemplos para gestionar bases de datos, tablas y datos. Al final, también dejaré u listado con recursos de MariaDB. Vamos allá:

Conexión a MariaDB

1. Conectar a MariaDB:

mysql -u usuario -p

2. Conectar a una base de datos específica:


mysql -u usuario -p nombre_base_datos

Comandos de gestión de bases de datos

3. Mostrar bases de datos:


SHOW DATABASES;

4. Crear una nueva base de datos:


CREATE DATABASE nombre_base_datos;

5. Eliminar una base de datos:


DROP DATABASE nombre_base_datos;

6. Usar una base de datos específica:


USE nombre_base_datos;

Comandos de gestión de tablas

7. Mostrar tablas en la base de datos actual:


SHOW TABLES;

8. Crear una nueva tabla:


CREATE TABLE nombre_tabla (

id INT AUTO_INCREMENT PRIMARY KEY,


nombre VARCHAR(100),


fecha_creacion DATETIME DEFAULT CURRENT_TIMESTAMP


);

9. Eliminar una tabla:


DROP TABLE nombre_tabla;

10. Modificar una tabla (agregar una columna):


ALTER TABLE nombre_tabla ADD columna_nueva VARCHAR(50);

11. Modificar una tabla (eliminar una columna):

ALTER TABLE nombre_tabla DROP COLUMN columna_nueva;

Comandos de gestión de datos

12. Insertar datos en una tabla:


INSERT INTO nombre_tabla (nombre) VALUES ('Ejemplo');

13. Seleccionar datos de una tabla:


SELECT * FROM nombre_tabla;

14. Actualizar datos en una tabla:


UPDATE nombre_tabla SET nombre = 'Nuevo Nombre' WHERE id = 1;

15. Eliminar datos de una tabla:


DELETE FROM nombre_tabla WHERE id = 1;

Comandos de consulta

16. Filtrar resultados:


SELECT * FROM nombre_tabla WHERE nombre = 'Ejemplo';

17. Ordenar resultados:


SELECT * FROM nombre_tabla ORDER BY fecha_creacion DESC;

18. Contar registros:


SELECT COUNT(*) FROM nombre_tabla;

19. Agrupar resultados:


SELECT nombre, COUNT(*) FROM nombre_tabla GROUP BY nombre;

Comandos de gestión de usuarios y permisos

20. Crear un nuevo usuario:


CREATE USER 'nuevo_usuario'@'localhost' IDENTIFIED BY 'contraseña';

21. Conceder permisos a un usuario:

GRANT ALL PRIVILEGES ON nombre_base_datos.* TO 'nuevo_usuario'@'localhost';

22. Revocar permisos a un usuario:


REVOKE ALL PRIVILEGES ON nombre_base_datos.* FROM 'nuevo_usuario'@'localhost';

23. Mostrar usuarios:


SELECT User, Host FROM mysql.user;

Comandos de administración

24. Mostrar información sobre la base de datos actual:


SHOW TABLE STATUS;

25. Salir de la consola de MariaDB:


EXIT;

Diferencias a tener en cuenta entre MariaDB y MySQL

La mayoría de los comandos que mencioné para MariaDB también son aplicables a MySQL, ya que MariaDB es un fork de MySQL y ambos sistemas comparten una gran parte de su sintaxis y funcionalidad. Sin embargo, hay algunas diferencias y características específicas en cada uno que podrían afectar ciertos comandos o funciones avanzadas.

Características adicionales: MariaDB ha introducido algunas características adicionales y mejoras de rendimiento que no están presentes en las versiones más antiguas de MySQL. Por ejemplo, MariaDB tiene soporte para nuevos motores de almacenamiento y algunas funciones de optimización.

Funciones específicas: Algunas funciones y comandos pueden diferir entre las dos bases de datos. Por ejemplo, MariaDB tiene algunas funciones de análisis y optimización que no están disponibles en MySQL.
Versiones: Asegúrate de que estás utilizando versiones compatibles. Algunas características pueden estar disponibles en versiones más recientes de uno y no en el otro.

Compatibilidad: Aunque la mayoría de los comandos son compatibles, siempre es recomendable consultar la documentación específica de la versión de MySQL que estás utilizando para asegurarte de que no haya diferencias significativas.

Recursos útiles

Listado de recursos útiles en línea sobre MariaDB, que incluyen documentación oficial, tutoriales, foros y otros materiales que te ayudarán a aprender sobre sus comandos y sintaxis:

Documentación Oficial

1. Documentación de MariaDB:
– MariaDB Documentation:
https://mariadb.com/kb/en/documentation)
– Esta es la fuente más completa y confiable para aprender sobre MariaDB, incluyendo su instalación, configuración, comandos y características.

2. Guía de referencia de SQL de MariaDB:
– MariaDB SQL Reference: https://mariadb.com/kb/en/sql-reference)
– Aquí encontrarás información detallada sobre la sintaxis SQL específica de MariaDB.

Tutoriales y Guías

3. Tutoriales de MariaDB en el sitio oficial:
– MariaDB Tutorials: https://mariadb.com/kb/en/tutorials
– Una colección de tutoriales que cubren desde lo básico hasta temas más avanzados.

4. Tutoriales de DigitalOcean:
– How To Install MariaDB on Ubuntu:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04
– How To Use MariaDB:
https://www.digitalocean.com/community/tutorials/how-to-use-mariadb
– DigitalOcean ofrece tutoriales claros y concisos sobre la instalación y uso de MariaDB.

5. Tutoriales de W3Schools:
– W3Schools MariaDB Tutorial:
https://www.w3schools.com/sql/sql_intro.asp
– Aunque W3Schools se centra más en SQL en general, también incluye secciones sobre MariaDB.

Foros y Comunidades

6. Foro de MariaDB:
– MariaDB Community Forum: https://mariadb.com/community
– Un lugar donde puedes hacer preguntas y compartir información con otros usuarios de MariaDB.

7. Stack Overflow:
– Stack Overflow – MariaDB:
https://stackoverflow.com/questions/tagged/mariadb
– Una gran comunidad de desarrolladores donde puedes encontrar respuestas a preguntas específicas sobre MariaDB.

Vídeos y Cursos

8. YouTube:
– Busca «MariaDB tutorial» en YouTube:
https://www.youtube.com/results?search_query=mariadb+tutorial para encontrar una variedad de videos que cubren desde la instalación hasta el uso avanzado.

9. Udemy:
– Cursos de MariaDB en Udemy:
https://www.udemy.com/courses/search/?q=mariadb
– Udemy ofrece cursos pagos y gratuitos sobre MariaDB que pueden ser útiles para aprender a tu propio ritmo.

Otras Herramientas y Recursos

10. MariaDB Knowledge Base:
– MariaDB Knowledge Base: https://mariadb.com/kb
– Un recurso adicional que incluye artículos, guías y preguntas frecuentes sobre MariaDB.

11. GitHub – MariaDB:
– MariaDB GitHub Repository:
https://github.com/mariadb-corporation/mariadb-server
– Aquí puedes encontrar el código fuente y contribuir al desarrollo de MariaDB.