【发布时间】:2020-04-26 15:17:57
【问题描述】:
我在服务器中有一个 MySQL 数据库。我想插入一些 .csv 格式的数据。连接远程数据库后,我尝试执行下面的 SQL 语句。
LOAD DATA LOCAL INFILE '~/Downloads/words.csv'
INTO TABLE word
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
结果是错误:
此 MySQL 版本不允许使用的命令
做了一些研究后,我了解到我必须启用 local-infile 才能将 csv 导入表。为了将 local-infile 设置为 1,我执行以下语句:
SET GLOBAL local_infile = 1;
结果是错误:
错误 1227 (42000):访问被拒绝;你需要(至少一个) 此操作的超级权限
当我尝试使用以下语句向远程用户授予所有权限时
GRANT ALL PRIVILEGES ON *.* TO username@host;
我明白了,
您不能使用 GRANT 创建用户
即使我以 root 身份登录。我需要做什么?
【问题讨论】:
-
如果远程用户不存在,他们如何能够连接到数据库并尝试执行
LOAD DATA命令?
标签: mysql