質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

3回答

23284閲覧

MySQLでcsvファイルをインポートできないです。ERROR 2 (HY000): File 'ファイルの絶対パス' not found (Errcode: 2)

Ryotaa

総合スコア7

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2016/03/23 06:22

MySQLで
load data local infile 'ファイル名' into table tb1n fields terminated by ',';
を入力してcsvファイルをインポートしようとすると、ERROR 2 (HY000): File 'ファイル名' not found (Errcode: 2)と表示され、できないです。解決方法を教えていただきたいです。
mac OS X EI Capitanのバージョン10.11.2が実機で、ファイル名のところにはドラッグアンドドロップで絶対パスが入っているので間違ってないはずです。csvファイルは確かに存在するのに見つけられないのはなぜでしょうか・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ogaaaan

2016/03/23 06:52

そのファイルはちゃんとしたcsvなんですかね?中身確認してもらえますか。
guest

回答3

0

ベストアンサー

CSVファイル、またはそれが置かれているディレクトリに付与されている権限により、
mysqlユーザーからファイルが見えない状態になっていると思われます。

以下のコマンドを1つずつ、実行してみて下さい。

sh

1ls -l / | grep Users 2ls -l /Users | grep ユーザ名 3ls -l /Users/ユーザ名 | grep Documents 4ls -l /Users/ユーザ名/Documents/t.csv

どこかでdrwx------+のように、他ユーザーから見えない権限になっていませんか?
(私の手元にあるMacでは、ls -l /Users/ユーザ名 | grep Documentsがそうでした)

上記の通りであれば、以下2つの手順を踏むことで、読み込めるようになるはずです。

  • ファイル自体に、他ユーザーから見える権限を付与する
  • ファイルを他ユーザーから見える場所に移動する(/tmpとかで構わないと思います)

具体的には、以下のようなコマンドです。

sh

1chmod go+r /Users/ユーザ名/Documents/t.csv 2mv /Users/ユーザ名/Documents/t.csv /tmp/

もちろん、ファイルを移動したので、load data 〜コマンドに指定するパスも以下のように変更して下さい。

sql

1load data local infile '/tmp/t.csv' into table tb1n fields terminated by ',';

投稿2016/03/23 10:35

KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryotaa

2016/03/24 10:35

返信遅れてすみません。 ありがとうございます!なんとか解決することができました!ローカル環境?MySQLユーザ?からでは私のmacのファイルのパスは見えない状態になっていました。丁寧な御指導ありがとうございました。
guest

0

そのファイルは、mysql ユーザに変更してアクセスできますか?

sudo su mysql

mysql $ ls -l 指定ファイルの絶対パス

投稿2016/03/23 08:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryotaa

2016/03/23 08:52

sudo su mysqlで何も起きず、mysql $ ls -l 指定ファイルの絶対パス でmysql: unknown option '-l' とでました。mysqlに入った状態でやると両方ともエラーになってしまいます。
退会済みユーザー

退会済みユーザー

2016/03/23 09:59

そうですか、残念です。 たぶん、mac で、ファイル確認コマンド、ユーザー変更がわかる人が答えてくれるでしょう。
guest

0

Macっすね。

パスに含まれる日本語で、
「パ」が「ハ」と「゜」に分かれるなどしてませんか?

投稿2016/03/23 06:57

ogaaaan

総合スコア765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ryotaa

2016/03/23 07:56

参考書のやつなので中身載せます。 N551,佐々木,37 N552,伊藤,41 N553,斎藤,31 N554,井上,43 N555,安倍,31 という中身で、ファイル名はt.csvなので特に問題はない気がします。パスは、/Users/ユーザ名/Documents/t.csvです。 すみません初心者なもので、ちゃんとしたcsvの意味がわからないです。逆にちゃんとしたcsvでないものってどういうのですか?
ogaaaan

2016/03/23 10:37

なんで検索しないんだろうって思う。初心者でも検索くらいできるでしょ? ちなみに、中身だけ書き出しても、それで問題有るかどうかわからんのですよ。 例えば改行コードとかも指定したものと違ってインポートしたら全部1行になってしまったり。中身だけ見てOKって訳にはいかないのがシステムってやつなんで。 Excelでcsvに吐き出すとSYLK形式になったりもするし。 文字列は「"」で囲まれます。しかし文字列中に「”」があったらどうするの?とか、文字列中に改行されてたらどうするの?とか、とにかくいろいろあるんです、一口にCSVと言っても。 で、こちらからの質問に答えていただけないようなので、俺としても返答できず。 以上。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問