テーブルのインポート・エクスポート

MySQLにてテーブルインポートする際、コマンドオプションの並び順によってはエラーになった。



$ mysqlimport -h host名 DB名 Table名.txt -u user名 -p
Enter password:
mysqlimport: Error: Access denied for user 'user'@'%' (using password: YES), when using table: order

接続先ホストがリモートで、インポートファイルがローカルにあるときは、-Lオプションを指定する必要あり。


$ mysqlimport -L -h host名 Table名.txt -u user名 -p DB名
Enter password:
mysqlimport: Error: Access denied for user 'user'@'%' to database 'order.txt'


だめ

$ mysqlimport -h host名 -L Table名.txt -u user名 -p DB名
Enter password:
mysqlimport: Error: Access denied for user 'user'@'%' to database 'order.txt'


これもダメ

$ mysqlimport -h host名 -u user名 -p DB名 -L Table名.txt
Enter password:
test_db.order: Records: 10000 Deleted: 0 Skipped: 0 Warnings: 1371


これでOK
よくわかりませんが、DB名の後にファイル名を指定すればいいのかな


ちなみに、エクスポートする際は、以下で大丈夫でした。


$ mysql -B --skip-column-names -h host名 -u user名 -p DB名 -e 'SELECT文;' > Table名.txt

 TAB区切りのテキストデータで出力。
 --skip-column-namesオプションは、カラム名の省略。