我正在尝试将CSV文件读入MariaDb并收到一条显示“权限被拒绝”的错误消息。你能告诉我我做错了什么(详见下文)?
我在OSX High Serra上运行MariaDb 10.2.6。我以'root'@'localhost'的身份登录MariaDb。我已授予'root'@'localhost'FILE特权。用户'root'@'localhost'正在使用安全插件'unix_socket'。
我使用CONNECT存储引擎创建了一个表,如下所示:
create table twins (
ABOT double,
SCLK double,
LMST varchar(30),
LTST varchar(30),
UTC varchar(30),
HORIZONTAL_WIND_SPEED double,
VERTICAL_WIND_SPEED double,
WIND_DIRECTION double,
AIR_TEMP double)
engine=CONNECT table_type=CSV file_name='twins_calib_8066_01.csv'
header=1;
我希望阅读的文件的权限是:
-rw-r--r-- 1 ssackett everyone 873837 Mar 20 11:29 twins_calib_8066_01.csv
当我发出SQL:select * from twins;
我收到错误消息:
ERROR 1296(HY000):在twins_calib_8066_01.csv上出现错误174'Open()错误13:来自CONNECT的权限被拒绝
答案 0 :(得分:0)
CSV存储引擎不允许UPDATE或DELETE,但它允许INSERT,因此mysqld需要对该文件具有写入权限,否则无法打开它。
但是你的CSV文件归ssacckett所有,而不是“mysql”(或者mysqld运行的任何uid),所以它不能被mysqld进程写入。
尝试:
sudo chown mysql:mysql twins_calib_8066_01.csv
将其更改为用户& mysqld进程运行的组。
或者,将文件模式更改为全部可写:
chmod 666 twins_calib_8066_01.csv
答案 1 :(得分:0)
检查包含.csv文件的目录的权限。您需要对目录“搜索”(x
)权限才能查看其中的文件。