Cómo instalar y configurar phpMyAdmin para tu entorno de desarrollo
Tags: php, phpmyadmin, mysql, mariadb
Published: 2021-11-19 22:24:22

Cuando estamos en la etapa de desarrollo de nuestro sistema, solución o aplicación, necesitamos visualizar los detalles que contiene nuestra base de datos, ya sea consultar información, crear una nueva base de datos para el proyecto, correr un script para generar la estructura de la misma base de datos, insertar los datos, etc. 

Para ello existen una gran variedad de clientes gráficos que podemos utilizar para conectarnos a nuestro servidor de base de datos. En esta ocasión quiero hablarte de phpMyAdmin, uno de mis clientes de bases de datos para MySQL favoritos, que utilizo para mi entorno de desarrollo.

Pero primero déjame contarte que es phpMyAdmin.

## ¿Qué es phpMyAdmin?

Es una herramienta de software libre escrita en PHP, para manejar la administración de bases de datos MySQL y MariaDB, y todo desde tu navegador favorito. Que sea meramente un cliente de interfaz gráfica no limita que no puedas utilizar sentencias SQL desde la propia interfaz.

## ¿Qué puedes hacer con phpMyAdmin?

Si hay algo que me encanta de phpMyAdmin es su interfaz intuitiva para tener todo a la mano desde unos cuantos clics.

Además de que cuenta con una cantidad de características para que la administración desde la interfaz sea más fácil.

Déjame decirte algunos:

* Navega entre tus bases de datos, tablas, campos, índices y vistas de una manera sencilla
* Crea, copia, elimina, renombra y modifica bases de datos, tablas y campos
* Administra los usuarios y privilegios de MySQL
* Importa datos desde archivos CSV y scripts SQL
* Exporta datos a varios formatos: CSV, SQL, XML, PDF y otros
* Administra múltiples servidores
* Y muchas más...

## ¿Aún no te convences?

Si aún no te convence utilizar phpMyAdmin, en su sitio oficial cuenta con una demo que puedes probar para que vayas viendo todas las posibilidades que tienes al usar esta herramienta.

Ve al sitio web oficial [https://www.phpmyadmin.net/](https://www.phpmyadmin.net/) y del lado superior derecho encontrarás un botón color verde con la leyenda **"Try demo"**, da clic en el botón y te abrirá enseguida la interfaz gráfica para que interactues con la demo. Prueba todas las opciones y dime que te parecen.

## Instalando y configurando phpMyAdmin

Si ya estas listo para empezar a usar phpMyAdmin vayamos a instalar y configurar esta maravillosa herramienta.

Existen muchas maneras de instalar phpMyAdmin, empezaremos viendo las opciones que tenemos para cada sistema operativo y luego veremos cómo hacerlo de forma manual independiente del sistema operativo que tengamos.

### Instalando phpMyAdmin usando XAMPP

La manera más fácil de instalar phpMyAdmin en Windows, Linux o macOS es usando un paquete de terceros que ya incluya phpMyAdmin, por lo que no tenemos que preocuparnos por instalarlo y configurarlo de manera separada.

Uno de esos paquetes es **XAMPP**, que es un conjunto o stack de tecnologías para montar tu entorno de desarrollo de una manera sencilla y que te incluye todo lo necesario para que empieces a desarrollar tus aplicaciones con PHP.

Qué es lo que incluye XAMPP:

* Apache como servidor web
* MariaDB como servidor de base de datos
* PHP como lenguaje de programación
* phpMyAdmin como cliente gráfico de bases de datos MySQL y MariaDB
* Entre otras herramientas más...

Si algo caracteriza a XAMPP es que el proceso de instalación para cada sistema operativo es muy sencillo, por lo que solamente tienes que descargar y ejecutar el instalador. [Aquí te dejo la página](https://www.apachefriends.org/es/download.html) para que lo descargues y lo instales en tu sistema operativo.

### Instalación manual

En caso de que tengas otro entorno de desarrollo diferente a XAMPP y que no incluya directamente phpMyAdmin tendremos que realizar la instalación manual de phpMyAdmin, pero no te preocupes ya que esto es muy sencillo.

¿Quieres conocer qué otros entornos de desarrollo puedes instalar?

Te dejo la siguiente infografía de Guardianes del Código:

![Entornos de desarrollo para trabajar con PHP](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/85gelrryt5a8qb4lm2xx.jpeg)

Y el siguiente video para que conozcas más detalles de estas herramientas:

{% youtube -14TE06R6Eg %}

Ahora si vayamos a la instalación:

* Ve al sitio web oficial [https://www.phpmyadmin.net/](https://www.phpmyadmin.net/) y del lado superior derecho encontrarás el botón verde con la leyenda **Download**, enseguida se descargará un archivo **.zip** con el siguiente formato `phpMyAdmin-<version>-all-languages.zip` y que puedes guardarlo por el momento en cualquier ubicación de tu sistema de archivos.

* Descomprime el archivo **.zip**, si lo descomprimes directamente se guardará todo dentro de una carpeta con el siguiente formato `phpMyAdmin-<version>-all-languages`, te recomiendo renombrar el nombre de la carpeta por algo más sencillo como `phpmyadmin`.

* Identifica la carpeta **root** en donde tu entorno de desarrollo sirve o ejecuta directamente los archivos PHP. Si estas usando Laragon con Windows muy posiblemente esa ubicación sea `C:\laragon\www`, en otros entornos se conoce como `htdocs`. Copia en esa ubicación la carpeta `phpmyadmin` junto con todo su contenido.

* Verifica que estes ejecutando los servicios de tu entorno de desarrollo, es decir que tengas corriendo tanto tu servidor web como tu servidor de base de datos.

### Configuración de phpMyAdmin

* Abre tu editor de texto favorito y crea en la raíz de la carpeta `phpmyadmin` un archivo llamado `config.inc.php`, puedes copiar el contenido del archivo `config.sample.inc.php` que se encuentra igualmente en la raíz de la carpeta `phpmyadmin`.

* Ahora editaremos el archivo `config.inc.php`, quiero que te des cuenta en estas líneas de código:

```php
/**
 * Servers configuration
 */
$i = 0;

/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
```

Si te das cuenta en esas líneas de código estamos configurando nuestro primer servidor en el que nos conectaremos, como te había mencionado, la ventaja de phpMyAdmin es que nos podemos conectar a múltiples servidores de bases de datos MySQL.

En esa configuración nos hace falta agregar el usuario y la contraseña de nuestro servidor. Por lo general, en la mayoría de los entornos de desarrollo para PHP viene configurado por defecto en el servidor de bases de datos MySQL, un usuario **"root"** sin contraseña.

> Debes tomar en cuenta que se trata solamente de tu entorno de desarrollo en tu máquina local, por lo que tener un usuario **"root"** sin contraseña esta bien, pero no en un entorno en producción, en el que debes considerar unas configuraciones extras de seguridad para tus bases de datos.

Por lo que las líneas ahora quedarían de la siguiente manera:

```php
/**
 * Servers configuration
 */
$i = 0;

/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
```

Bueno te explico los cambios que se hicieron, el primero es el cambio en el valor de `$cfg['Servers'][$i]['auth_type']` a `config`, esto evita estar introduciendo a cada rato el usuario y contraseña en la pantalla de inicio de sesión en phpMyAdmin.

Luego el valor en `$cfg['Servers'][$i]['host']` se cambio a `127.0.0.1`, esto garantiza que nos conectemos correctamente a nuestro servidor local.

Ahora en `$cfg['Servers'][$i]['user']` ponemos el usuario para conectarnos a nuestro servidor de base de datos, si tienes uno diferente a **"root"**, cambialo en su lugar. En `$cfg['Servers'][$i]['password']` pon la contraseña de tu servidor local, como te habia mencionado por lo general en un entorno local el usuario root no tiene contraseña, si manejas otro usuario o le pusiste contraseña a tu usuario **"root"** ponlo en su lugar.

Por último en `$cfg['Servers'][$i]['AllowNoPassword']` se cambio a `true` ya que es muy probable que tu usuario **"root"** no tenga contraseña y si no cambias su valor no te dejará conectarse sin una contraseña.

* Ya que tenemos todas nuestras configuraciones listas, es tiempo de probar en el navegador que todo funcione correctamente. Abre tu navegador y escribe la dirección hacia phpMyAdmin, si usas host virtuales en tu entorno de desarrollo, muy probablemente entres a una dirección como esta **phpmyadmin.test**, en caso de que no manejes host virtuales, muy probablemente entres a **localhost/phpmyadmin**.

* Verás enseguida la interfaz de administración de phpMyAdmin, ahora podrás interacturar con todas tus bases de datos y probar todas las ventajas que nos ofrece.

Y de esa manera es como tienes desde tu navegador una herramienta para administrar tus bases de datos en tu entorno de desarrollo.

Como nota adicional quiero decirte que no descartes la posibilidad de aprender o seguir utilizando tu linea de comandos para administrar tu servidor de base de datos, ya que posiblemente en algún momento vas a interactuar con algún servidor de producción que no precisamente cuenta con una interfaz gráfica, si no que todo es a través de comandos.

Cuéntame en los comentarios, ¿Ya conocías phpMyAdmin?, ¿Qué cliente de base de datos usas en tu día a día para administrarlas?

No dudes en compartir este post si te ha parecido genial, y dime que te gustaría en próximos posts, estaré encantado de compartir contigo para que aprendamos juntos.