使用SQL访问文件系统

我刚遇到MySQL中的一个不错的选择,可以利用该文件系统并获取有价值的信息,例如有关文件和文件夹或其内容的存在。 这对于替代php函数file_exists可能非常有帮助,因为有关文件存在的信息仍可以在查询中用于进一步的排序和聚合功能。


如果关联的数据库用户具有FILE特权,则可以使用以下命令

SELECT LOAD_FILE(*PFAD ZUR DATEI*)

在查询过程中,不仅要检查文件是否存在,还要读出其内容。

在Windows系统上,应注意,文件路径中的反斜杠必须进行相应标记(例如:C:\\ Windows \\ System32 \\ drivers \\ etc \\ hosts)。 安全方面也不应该被完全忽略,因为当授予FILE特权时,对数据库的访问自动意味着对文件系统其余部分的访问。

为了确保不仅返回NULL值,还必须确保运行MySQL的用户具有读取权限。

为了也访问大文件,必须增加设置为1 MB的全局属性“ max_allowed_pa​​cket”。

mysql -u... -p...
set global max_allowed_packet = 1024 * 1024 * 512;
exit;

现在,您可以(在重新启动服务器之后)访问最大为512 MB的文件。

背部