Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash mysqlimport出现错误13_Bash_Mysqlimport - Fatal编程技术网

Bash mysqlimport出现错误13

Bash mysqlimport出现错误13,bash,mysqlimport,Bash,Mysqlimport,我使用以下脚本从csv文件导入数据: #!/bin/bash # show commands being executed, per debug set -x # define database connectivity _db="xxx" _db_user="xxx" _db_password="xxx" _table="movie" # define directory containing CSV files _csv_directory="/tmp" _csv_file='xxx

我使用以下脚本从
csv
文件导入数据:

#!/bin/bash

# show commands being executed, per debug
set -x

# define database connectivity
_db="xxx"
_db_user="xxx"
_db_password="xxx"
_table="movie"

# define directory containing CSV files
_csv_directory="/tmp"

_csv_file='xxxxxx.csv'
_header_columns_string='link,description,duration,thumbnaillink,iframe,tags,category'

# import csv into mysql
mysqlimport --fields-terminated-by=';' --lines-terminated-by="\n" --columns=$_header_columns_string -u $_db_user -p$_db_password $_db $_table $_csv_directory/$_csv_file

exit
当我通过
bash import.sh以root用户身份执行脚本时,我收到以下错误消息:

+ _db=mydatabase
+ _db_user=xxx
+ _db_password=xxx
+ _table=movie
+ _csv_directory=/tmp
+ _csv_file=xxxxxx.csv
+ _header_columns_string=link,description,duration,thumbnaillink,iframe,tags,category
+ mysqlimport --local '--fields-terminated-by=;' '--lines-terminated-by=\n' --columns=link,description,duration,thumbnaillink,iframe,tags,category -u xxx -pxxx mydatabase movie /tmp/xxxxxx.csv
mysqlimport: Error: 13, Can't get stat of '/var/lib/mysql/mydatabase/movie' (Errcode: 2), when using table: movie

+ exit
但是数据库和表是存在的

csv
文件存在并且可以读取,可以选择表格,我可以手动将数据行插入数据库


我做错了什么?

尝试从SQL内部执行此操作:

load data local infile 'FILENAME.CSV' into table TABLENAME
fields terminated by ',' optionally enclosed by '"' ignore 1 lines;
您可以从命令行或类似这样的shell脚本运行它

db='mysql -hX -uX -pX --database=X'
cat MYSCRIPT.SQL | $db

您是否尝试为
mysqlimport
提供
--local
选项?该csv文件的权限是什么?它需要系统上的所有用户都能阅读。请尝试chmod mysql:mysql xxx.csv或chmod 0666 xxx.csv,然后重试,让我们知道发生了什么?