Este documento contiene información para conectar un script Perl con una base de datos MySQL del hosting usando el módulo DBI: qué datos necesitás, dónde ubicar el script y cómo resolver los errores más comunes.
Los scripts Perl de tu sitio pueden leer y guardar información en una base de datos MySQL del hosting con el módulo DBI. Perl y DBI ya están disponibles en la cuenta, así que no hace falta instalar nada.
Datos que necesitás
Dónde encontrarlos: ingresá a cPanel desde el portal de clientes → Iniciar sesión en cPanel, o en https://tudominio.com/cpanel. Después abrí Bases de datos → Bases de datos MySQL.
- Nombre de la base: el nombre completo, con el prefijo de la cuenta. Por ejemplo,
cuenta_tienda. - Usuario de MySQL: también con el prefijo. Por ejemplo,
cuenta_app. Tiene que estar añadido a la base con los privilegios necesarios. - Clave del usuario de MySQL: la que definiste al crearlo. No es la clave de cPanel.
- Servidor:
localhost, porque el script se ejecuta en el mismo hosting. El acceso remoto solo hace falta para programas que se conectan desde fuera del hosting.
Cómo se arma el script
Todo script que usa DBI sigue los mismos cuatro pasos:
- Conectar con la base usando el controlador
mysql, el nombre de la base,localhost, el usuario y su clave. - Preparar la consulta, usando marcadores de posición (
?) para los valores en lugar de escribirlos dentro del texto de la consulta. Así se evita la inyección SQL. - Ejecutar la consulta pasando los valores y, si devuelve resultados, recorrerlos fila por fila.
- Cerrar la consulta y la conexión.
Los ejemplos completos de código están en la documentación oficial de DBI y en la del controlador DBD::mysql.
Dónde ubicar el script
- Si se ejecuta desde el navegador, guardalo en la carpeta
cgi-bin, con permisos755, y con saltos de línea de Linux. - Si lo ejecuta una tarea programada, podés guardarlo fuera de
public_html. - Un script que responde al navegador tiene que enviar primero el encabezado que indica el tipo de contenido, antes de mostrar cualquier texto.
Seguridad: el script guarda la clave de la base. Nunca lo dejes en una carpeta pública con otra extensión ni hagas copias como .bak o .txt, porque se podrían descargar con la clave visible. Usá un usuario de MySQL con los permisos mínimos que necesite el script, y hacé una copia de seguridad de la base antes de probar cambios que modifiquen o borren datos.
Problemas frecuentes
- No se puede conectar: revisá el nombre completo de la base y del usuario, la clave de MySQL y que el usuario esté añadido a esa base. El servidor tiene que ser
localhost. - Error "install_driver(mysql) failed": el controlador
DBD::mysqlno está disponible en la cuenta. Consultá al soporte. - La tabla no existe: el nombre usado en el script no coincide con el de la base, incluidas mayúsculas y minúsculas.
- El navegador descarga el archivo o muestra el código: el script no está en
cgi-bino no tiene permiso de ejecución. - Error 500: revisá los permisos (
755), los saltos de línea de Linux y que el encabezado de contenido se envíe primero.
Si necesitás ayuda, abrí un ticket desde el portal de clientes o consultá por el chat online del sitio.
