Qué es un gestor online
Un gestor de bases de datos es el programa que administra la base: crea las tablas, guarda los datos, los ordena y hace cumplir las reglas. En la Unidad 1 se vieron sus tareas; acá interesa una forma particular de usarlo.
Un gestor online es el que corre en el servidor y se usa desde el navegador. No hay nada que instalar en la máquina del usuario: se abre una dirección, se escribe el usuario y la contraseña, y aparece una pantalla con todas las bases de datos del servidor. Del otro lado hay un programa escrito en el servidor que traduce cada clic en una consulta SQL.
| Gestor online | Gestor de escritorio | |
|---|---|---|
| Dónde corre | En el servidor, junto a la base. | En la computadora de quien administra. |
| Cómo se usa | Con el navegador. | Con un programa instalado. |
| Qué hay que instalar | Nada. | El programa, en cada máquina. |
| Cómo llega a la base | Ya está ahí adentro. | Por la red, con host, puerto, usuario y contraseña. |
| Ejemplos | phpMyAdmin, Adminer | MySQL Workbench, DBeaver, HeidiSQL |
Las dos formas hacen lo mismo. La diferencia práctica es que la primera funciona desde cualquier dispositivo con navegador —incluso un celular— y la segunda es mejor para trabajar horas: tiene editor de consultas, historial, comparación de estructuras y atajos de teclado. En un servidor de hosting casi siempre se encuentra la primera, porque es la única que se puede ofrecer sin que el cliente instale nada.
phpMyAdmin
Es el gestor online más difundido del mundo, y es el que se encuentra en la mayoría de los servidores. Está escrito en PHP —el mismo lenguaje del proyecto— y viene ya instalado en los paquetes todo-en-uno como XAMPP, WAMP o MAMP. La dirección exacta depende de cómo esté configurado el servidor, pero en una instalación típica aparece como una carpeta llamada phpmyadmin al lado del sitio.
Lo que se puede hacer desde ahí:
- Ver la estructura. Las tablas, sus campos, sus tipos, sus claves y sus restricciones: todo lo que se declaró en el
CREATE TABLE, en una pantalla. - Ver y editar los datos en una grilla, como si fuera una planilla de cálculo. Es cómodo para corregir un dato suelto, y peligroso por lo mismo: se edita sin dejar rastro.
- Escribir y ejecutar consultas SQL en una caja de texto, y ver el resultado abajo. Es la función más útil para aprender y para depurar.
- Importar y exportar. Copiar la base completa a un archivo
.sqly llevarla a otra máquina. - Administrar usuarios y permisos: quién puede ver y modificar qué.
Su mejor uso es probar. Antes de escribir una consulta dentro del código PHP, conviene escribirla acá y ver qué devuelve. Y después de probar el formulario, mirar la tabla para confirmar que el dato llegó como uno espera. Ese ida y vuelta ahorra muchísimo tiempo, porque separa dos problemas que se confunden todo el tiempo: si la consulta está mal escrita, o si el código PHP no la está ejecutando.
Otros gestores
No hay uno solo, y cada uno tiene su razón de ser:
| Gestor | Tipo | Para qué se destaca |
|---|---|---|
| phpMyAdmin | Online | El más completo y difundido. Viene incluido en los paquetes todo-en-uno. |
| Adminer | Online | Un solo archivo PHP. Se sube al servidor y funciona. Ideal cuando hay poco espacio. |
| MySQL Workbench | Escritorio | Editor de consultas y diseño de diagramas de la base. |
| DBeaver | Escritorio | Se conecta a casi cualquier gestor con la misma interfaz. |
| DB Browser for SQLite | Escritorio | Para SQLite, que al ser un archivo se abre como cualquier documento. |
Vale notar el caso de SQLite, que se ve en la página siguiente: como su base de datos es un archivo y no un servidor, no tiene sentido un gestor online. Se abre el archivo con un programa de escritorio, igual que se abre un documento. Es el único de la lista que no podría implementarse de otra manera, y eso ya adelanta la diferencia de fondo entre los dos dialectos.
Por qué conviene que sea online
- No hay nada que instalar ni actualizar en las máquinas. Cuando se actualiza el gestor, la mejora aparece para todos a la vez.
- Se accede desde cualquier dispositivo con navegador: la computadora del aula, la de la sala de profesores, el celular.
- Todo está en un solo lugar. La base no se copia de máquina en máquina, así que no hay versiones distintas de los mismos datos.
- El trabajo queda centralizado: si dos personas administran, las dos ven lo mismo y en el momento.
Para un servidor de hosting la ventaja es todavía más concreta: es la única forma de darle al cliente una herramienta de administración sin pedirle que instale un programa, configure una conexión remota y abra un puerto en el firewall.
Los riesgos
La misma característica que lo hace cómodo es la que lo hace peligroso: se llega por el navegador. Y un gestor online no da acceso a una tabla, sino al control total de la base. Desde ahí se pueden leer todos los datos, borrar tablas enteras, cambiar la estructura y crear usuarios nuevos.
Por eso un panel de administración expuesto a internet es uno de los blancos preferidos de los ataques automáticos. Hay programas que recorren la red buscando direcciones conocidas de paneles de administración y prueban las contraseñas más obvias, sin que nadie los esté mirando.
root sin contraseña es cómodo para practicar y jamás debe salir de la máquina de desarrollo. En una instalación de XAMPP es lo que viene por defecto, y para aprender está bien: evita escribir la clave cien veces. Pero en un servidor donde entre gente de afuera es una puerta sin cerradura. Antes de publicar cualquier sitio hay que ponerle contraseña a root, crear un usuario aparte para la aplicación con permisos limitados, y asegurarse de que el gestor no sea accesible desde internet.
Las medidas concretas, ordenadas por importancia:
- Que no esté expuesto. El gestor tiene que poder usarse solo desde la red interna o desde la propia máquina. Se configura en el servidor web, no en el gestor.
- Contraseña fuerte y, si se puede, autenticación en dos pasos.
- Permisos mínimos. Quien solo tiene que cargar datos no necesita poder borrar tablas.
- Dirección no obvia, como medida extra: cambiar la carpeta
phpmyadminpor otro nombre reduce los escaneos automáticos. - Si no se usa, desinstalarlo. Un panel olvidado es una puerta olvidada.
Y un detalle que se pasa por alto: el gestor no es para el usuario final. Nadie que use el sistema va a entrar acá. El gestor es una herramienta de quien desarrolla y de quien administra. Si el usuario necesita corregir un dato, se le hace una pantalla para eso —y esa pantalla es, justamente, el CRUD de esta unidad.
Para qué se usa en el proyecto
Durante el desarrollo del CRUD, el gestor online es la herramienta de trabajo. Sus cuatro usos concretos:
| Cuándo | Para qué |
|---|---|
| Al empezar | Crear las tablas y revisar que los tipos y las claves hayan quedado como se pensaron. Es el CREATE TABLE de la página siguiente. |
| Antes de programar | Probar la consulta escrita a mano. Si en el gestor devuelve lo que se espera, el problema del código —si aparece— es otro. |
| Después de probar el formulario | Mirar la tabla y confirmar que la fila se creó, que los valores son los correctos y que no hay duplicados. |
| Para llevarse el trabajo | Exportar la base a un archivo .sql y poder importarla en otra máquina, o entregarla junto con el proyecto. |
Hay una costumbre que conviene adoptar desde el principio: probar siempre en el gestor antes de pasar la consulta al código. Cuando algo no funciona, es muy difícil saber si el problema está en la consulta o en el programa que la ejecuta. Escribiéndola primero en phpMyAdmin y viendo el resultado, esa duda desaparece: si andaba ahí y no anda en PHP, el problema está en PHP.
Resumen
- Un gestor online corre en el servidor y se usa desde el navegador, sin instalar nada.
- La alternativa es el gestor de escritorio, que se conecta a la base por la red.
- phpMyAdmin es el más difundido y viene incluido en XAMPP y en casi todos los hostings.
- Desde el gestor se ve la estructura, se editan datos, se ejecutan consultas y se exporta la base.
- Su mejor uso es probar: escribir la consulta ahí antes de pasarla al código.
- Un gestor online da control total sobre la base, así que es una puerta que hay que cuidar.
- Nunca debe ser accesible desde internet, y el usuario
rootsin contraseña es solo para practicar en la máquina propia. - El gestor no es para el usuario final: para él se construye el CRUD.