【问题标题】:Does the LOAD DATA INFILE disabled on most shared hostings? [closed]大多数共享主机上是否禁用了 LOAD DATA INFILE? [关闭]
【发布时间】:2019-07-18 06:20:39
【问题描述】:

我想在我的插件软件中使用 LOAD DATA INFILE 来显着加快 MySQL 导入过程。我听说一些共享主机禁用了这个(很酷的)功能。这是正确的吗?如果是,他们为什么这样做,是否有可能以某种方式效仿?我的软件旨在在共享主机上成功运行。

【问题讨论】:

    标签: mysql database load hosting


    【解决方案1】:

    由于LOAD DATA INFILE 需要特殊权限,因此大多数共享主机提供商不提供这些权限:

    LOCAL 加载操作读取位于服务器上的文本文件。为了 出于安全原因,此类操作需要您拥有FILE 特权。请参阅第 6.2.1 节,“MySQL 提供的权限”。还, 非LOCAL加载操作以secure_file_priv系统为准 变量设置。如果变量值是一个非空目录名, 要加载的文件必须位于该目录中。如果 变量值为空(这是不安全的),文件只需 服务器可读。

    使用LOCAL 比让服务器访问文件要慢一些 直接,因为文件内容必须通过连接发送 由客户端到服务器。另一方面,您不需要 FILE 加载本地文件的权限。

    来自documentation

    MySQL 文档有一个section dedicated to optimizing INSERT,它提示了加快插入操作。

    【讨论】:

    • 这是否意味着在大多数共享主机上都启用了 LOAD DATA LOCAL?
    • 不,它没有启用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2021-02-07
    相关资源
    最近更新 更多