【问题标题】:load_file returns NULL in Mariadb without error. Where is the reason for this failure logged?load_file 在 Mariadb 中返回 NULL 而不会出错。记录此失败的原因在哪里?
【发布时间】:2018-02-05 13:22:31
【问题描述】:

系统信息:
Linux Fedora 26
Mariadb 版本 10.1.25

我已经执行了MariaDB Insert BLOB Image 中描述的所有语句。 另外我还禁用了selinux。

但是 load_file 仍然返回 NULL 而不给出错误。 我按照这些说明 (https://mariadb.com/kb/en/the-mariadb-library/general-query-log/) 启用了常规日志记录,但 'queries.log' 仅报告查询已执行,而没有提供有关为什么返回 NULL 而不是所需输出的信息。

Mariadb 是否记录此失败的原因?如果有,在哪里?

【问题讨论】:

  • 请包含LOAD 语句、SHOW CREATE TABLE,以及导致NULL 的文件中的一些指示。还有SHOW VARIABLES LIKE 'sql_mode';
  • Test.txt 是一个简单的文本文件('这是一个测试')

标签: mariadb


【解决方案1】:

验证其余的约束:

LOAD_FILE(文件名)

读取文件并将文件内容作为字符串返回。要使用此功能,文件必须位于服务器主机上,您必须指定文件的完整路径名,并且您必须具有 FILE 权限。该文件必须可供所有人读取,并且其大小小于 max_allowed_pa​​cket 字节。如果将secure_file_priv系统变量设置为非空目录名,则要加载的文件必须位于该目录中。

如果文件不存在或由于不满足上述条件之一而无法读取,则函数返回NULL。

character_set_filesystem 系统变量控制以文字字符串形式给出的文件名的解释。

【讨论】:

  • 我已经添加了您要求的信息。您需要额外的信息吗?
【解决方案2】:

您需要路径中的所有目录都具有 SET 可执行位

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2013-09-14
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多