Actualmente, estamos en proceso de migrar un entorno de servidor ColdFusion 2021. El antiguo entorno se creó en CF2016 y MySQL 5.7. El nuevo entorno es CF2021 y MySQL 8.0.27. Además, hemos dividido el servidor CF y el servidor MySQL, por lo que son 2 servidores diferentes en este momento.
Tenemos una función en el código CF que crea archivos csv (localmente) y los inserta en una tabla del servidor MySQL.
La consulta se escribe así:
LOAD DATA LOCAL infile 'local-path-to-file' into table op_customer_call_records_work fields terminated by '|' lines terminated by '\n' (master_id,map_id,host_id,,..etc..,cdr_source)Cuando esto intenta insertar, aparece este error:
Executing Database Query. (Loading local data is disabled; this must be enabled on both the client and server sides)Ya configuré esto en my.cnf:
[client] loose-local-infile=1 [mysql] local-infile=1 [mysqld] local-infile=1 secure-file-priv = ""y reiniciamos el servidor MySQL.
Mi suposición es que la etiqueta [cliente] en el archivo my.cnf es incorrecta o se ignora. Además, el conector de fuente de datos CF usa un archivo java llamado: 'mysql-connector-java-8.0.22.jar' si eso ayuda.
¡Cualquier ayuda sería muy apreciada! Gracias
La sección [client] en el archivo de opciones solo se aplica a los clientes de línea de comandos de MySQL como mysql , mysqldump o mysqladmin . No se aplica a otras interfaces de cliente, API o conectores. Por lo tanto, no se aplicará a ColdFusion.
Debe hacer que el conector habilite el archivo local.
Por ejemplo, si usa MySQL Connector/J para conectar ColdFusion a MySQL Server, deberá agregar la opción allowLoadLocalInfile a la URL de JDBC. Consulte https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-connp-props-security.html