MySQL 中 LOAD DATA INFILE 的访问被拒绝
在 MySQL 中,使用 LOAD DATA INFILE 语句可能会导致访问被拒绝的错误,例如如“#1045 - 用户 'user'@'localhost' 的访问被拒绝(使用密码:YES)。”
此错误通常表示执行查询的当前用户没有足够的权限来加载数据一个文件到一个表中。要解决此问题,请确保用户具有必要的权限。
特别是需要授予用户 FILE 权限。此权限允许用户从服务器的文件系统读取文件。如果没有此权限,用户将无法访问指定的文件。
要向用户授予 FILE 权限,请执行以下查询:
<code class="sql">GRANT FILE ON *.* TO user_name;</code>
将 user_name 替换为用户名您要授予权限的用户的名称。
此外,请考虑将 LOCAL 关键字添加到 LOAD DATA INFILE 语句中。 LOCAL 关键字指示 MySQL 从客户端计算机而不是服务器的文件系统读取文件。在某些情况下,这可以更高效、更安全。
以下是使用 LOCAL 修改语句的示例:
<code class="sql">LOAD DATA LOCAL INFILE 'path/to/file.csv' INTO TABLE table_name;</code>
以上是为什么在 MySQL 中使用 LOAD DATA INFILE 时出现“访问被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!