我试图读取到mariadb的csv文件,并得到一个错误消息,说“权限被拒绝”。你能告诉我我做错了什么吗?
我正在osx high serra上运行mariadb 10.2.6。我以“root”@“localhost”身份登录到mariadb。我已授予“root”@“localhost”文件权限。用户“root”@“localhost”正在使用安全插件“unix\u socket”。
我使用连接存储引擎创建了一个表,如下所示:
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*fromtwins;
我收到错误消息:
错误1296(hy000):在twins\u calib\u 8066\u 01.csv上获得错误174'open()错误13:来自connect的权限被拒绝'
2条答案
按热度按时间kg7wmglp1#
csv存储引擎不允许更新或删除,但允许插入,因此mysqld需要对文件的写权限,否则它无法打开它。
但是你的csv文件是属于ssacckett的,而不是“mysql”(或者mysqld运行的uid),所以mysqld进程不能写它。
尝试:
将其更改为mysqld进程作为其运行的用户和组。
或者,将文件模式更改为可由所有人写入:
fkvaft9z2#
检查对包含.csv文件的目录的权限。你需要“搜索”(
x
)甚至可以查看目录中的文件。