mysqlimportクライアントはLOAD DATA INFILESQLステートメントにコマンドラインインターフェースを提供します。 mysqlimportに対する殆どのオプションはLOAD DATA INFILE構文の節に直接対応しています。項 「LOAD DATA INFILE 構文」 を参照してください。
mysqlimportは以下のように起動してください。
shell> mysqlimport [options] db_name textfile1 [textfile2 ...]
コマンドラインで名づけられた各テキストファイルごとに、mysqlimportはファイルネームの拡張を取り除き、結果をファイルの内容をインポートするテーブルの名前を決定します。例えば、patient.txt、patient.text、そしてpatientと名づけられたファイルは全てpatientと名づけられたファイルにインポートされます。
mysqlimportは次のオプションをサポートします。
ヘルプ メッセージを表示し、閉じます。
キャラクタ セットがインストールされるディレクトリです。項 「データおよびソート用キャラクタ セット」 を参照してください。
--columns=column_list, -c column_list
このオプションはカンマによって分けられたカラム名のリストを値とします。カラム名の順序は、データファイルカラムとテーブルカラムをどのようにマッチするか示しています。
双方が圧縮をサポートしている場合、クライアント・サーバ間で行きかう情報を全て圧縮します。
--debug[=debug_options], -# [debug_options]
デバッグのログを書き込みます。debug_options 文字列は大抵 'd:t:o,file_name'になります。
--default-character-set=charset_name
charset_nameをデフォルトキャラクタセットとして使用します。項 「データおよびソート用キャラクタ セット」 を参照してください。
テキストファイルをインポートする前にテーブルを空にします。
--fields-terminated-by=..., --fields-enclosed-by=..., --fields-optionally-enclosed-by=..., --fields-escaped-by=...
これらのオプションはLOAD DATA INFILEに対応する節と同じ意味を持っています。項 「LOAD DATA INFILE 構文」 を参照してください。
エラーを無視します。例えば、テキストファイルのテーブルが存在しない場合、残ったファイルの処理を続行します。--forceなしでは、テーブルが存在しない場合mysqlimportは抜けます。
--host=host_name, -h host_name
与えられたホスト上でMySQLサーバからデータをインポートします。デフォルト設定では、localhostがホストになります。
--replaceオプションの詳細を参照してください。
データファイルの最初のNラインを無視します。
これらのオプションはLOAD DATA INFILEに対応する節と同じ意味を持っています。例えば、carriage return/linefeed pairsでラインを消去されたWindowsファイルをインポートする場合、--lines-terminated-by="\r\n"を使用してください。(コマンドインタープリタのエスケプコンベンションによってはバックスラッシュを二つ加えなければいけない場合があります。)項 「LOAD DATA INFILE 構文」 を参照してください。
クライアントホストからインプットファイルをローカルで読み込む。
テキストファイルを処理する前に、全てのテーブルをロックします。これにより、全てのテーブルがサーバ上でシンクロしていることを保証します。
テーブルロード時にLOW_PRIORITYを使用してください。
--password[=password], -p[password]
サーバに接続する際使用するパスワードです。ショートオプションフォーム(-p)を使用した場合、オプションとパスワードの間にスペースを置くことはできません。コマンドライン上で--password あるいは-pに続くオプションからpassword値を取り除いた場合、パスワード値を求められます。
コマンドライン上でのパスワードの特定は安全ではありません。項 「パスワードのセキュリティ」 を参照してください。
コネクションに使用するTCP/IPポート番号です。
--protocol={TCP|SOCKET|PIPE|MEMORY}
使用するべき接続プロトコルです。
--replaceと--ignoreオプションは、ユニークキー上に存在する行を複製するインプット行のハンドリングをコントロールします。--replaceを特定した場合、同じユニークキー値を持つ現存の行は新しい行に取ってかわられます。--ignoreを特定した場合、ユニークキー値上に存在する行を複製するインプット行はスキップされます。どちらのオプションも特定しなかった場合、複製キー値が発見されたときエラーが発生し、残りのテキストファイルは無視されます。
サイレントモード。エラーが発生したときのみアウトプットを生成します。
localhostの接続用に使用する、ユニックスではソケットファイル、Windowsでは使用する名づけられたパイプ。
--sslで始まるオプションは、SSLを介してサーバに接続し、SSL キーや証明の場所を明示するか否かを指定します。項3. 「SSL コマンド オプション」 を参照してください。
--user=user_name, -u user_name
サーバに接続する際使用するMySQLユーザ名です。
Verbose モードプログラムの動作についてさらに情報をプリントアウトする。
バージョン情報を表示し、閉じます。
mysqlimportの使用方法を表すサンプルセッションを以下に記します。
shell>mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' testshell>eda 100 Max Sydow 101 Count Dracula . w imptest.txt 32 q shell>od -c imptest.txt0000000 1 0 0 \t M a x S y d o w \n 1 0 0000020 1 \t C o u n t D r a c u l a \n 0000040 shell>mysqlimport --local test imptest.txttest.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0 shell>mysql -e 'SELECT * FROM imptest' test+------+---------------+ | id | n | +------+---------------+ | 100 | Max Sydow | | 101 | Count Dracula | +------+---------------+