3

次のスクリプトを使用して、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

root としてスクリプトを実行するとbash import.sh、次のエラー メッセージが表示されます。

+ _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読み取ることができ、テーブルを選択でき、データベースにデータ行を手動で挿入できます。

私は何を間違っていますか?

4

1 に答える 1