我在服务器中有一个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用户身份登录。我该怎么办?
授予用户之前创建用户;
CREATE USER username@host IDENTIFIED BY 'some password'
GRANT ALL PRIVILEGES ON *.* TO username@host;