Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  mysqlimport — データインポートプログラム

4.5.5 mysqlimport — データインポートプログラム

mysqlimport クライアントは、LOAD DATA INFILE SQL ステートメントにコマンド行インタフェースを提供します。mysqlimport に対するほとんどのオプションは、LOAD DATA INFILE 構文の句に直接対応しています。セクション13.2.6「LOAD DATA INFILE 構文」を参照してください。

mysqlimport は次のように起動します。

shell> mysqlimport [options] db_name textfile1 [textfile2 ...]

mysqlimport は、コマンド行で指定されたテキストファイルごとに、ファイル名の拡張子があればそれを取り除き、その結果をもとに、ファイル内容をインポートするテーブルの名前を決定します。たとえば、patient.txtpatient.text、および patient と名付けられたファイルはすべて patient と名付けられたテーブルにインポートされます。

mysqlimport は次のオプションをサポートします。これらはコマンド行またはオプションファイルの [mysqlimport] グループおよび [client] グループで指定できます。MySQL プログラムによって使用されるオプションファイルの詳細については、セクション4.2.6「オプションファイルの使用」を参照してください。

表 4.9 mysqlimport のオプション

形式 説明 導入
--bind-address 指定されたネットワークインタフェースを使用して MySQL サーバーに接続 5.6.1
--columns このオプションはカンマによって分けられたカラム名のリストを値とします
--compress クライアントとサーバー間で送信される情報をすべて圧縮
--debug デバッグのログを書き込み
--debug-check プログラムの終了時にデバッグ情報を出力
--debug-info プログラムの終了時に、デバッグ情報、メモリー、および CPU の統計を出力
--default-auth 使用する認証プラグイン 5.6.2
--default-character-set デフォルト文字セットを指定
--defaults-extra-file 通常のオプションファイルに加えてオプションファイルを読み取る
--defaults-file 指名されたオプションファイルのみを読み取る
--defaults-group-suffix オプショングループのサフィクス値
--delete テキストファイルをインポートする前にテーブルを空にする
--fields-enclosed-by このオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています
--fields-escaped-by このオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています
--fields-optionally-enclosed-by このオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています
--fields-terminated-by -- このオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています
--force SQL エラーが発生しても続行
--help ヘルプメッセージを表示して終了
--host 指定されたホスト上で MySQL サーバーに接続
--ignore --replace オプションの説明を参照
--ignore-lines データファイルの最初の N 行を無視
--lines-terminated-by このオプションは、LOAD DATA INFILE の対応する句と同じ意味を持っています
--local クライアントホストから入力ファイルをローカルで読み込む
--lock-tables テキストファイルを処理する前に、すべてのテーブルを書き込みロック
--login-path ログインパスオプションを .mylogin.cnf から読み取り 5.6.6
--low-priority テーブルロード時に LOW_PRIORITY を使用。
--no-defaults オプションファイルを読み取らない
--password サーバーに接続する際に使用するパスワード
--pipe Windows で、名前付きパイプを使用してサーバーに接続
--plugin-dir プラグインがインストールされているディレクトリ 5.6.2
--port 接続に使用する TCP/IP ポート番号
--print-defaults デフォルトを出力
--protocol 使用する接続プロトコル
--replace --replace および --ignore オプションは、一意のキー値に関して既存の行と重複する入力行の処理を制御
--secure-auth 古い (4.1.1 より前の) 形式でサーバーにパスワードを送信しない 5.6.17
--shared-memory-base-name 共有メモリー接続に使用する共有メモリーの名前
--silent エラーが発生したときのみ出力を生成
--socket ローカルホストへの接続で、使用する Unix ソケットファイル
--ssl 接続に SSL を有効化
--ssl-ca 信頼された SSL CA のリストを含むファイルのパス
--ssl-capath 信頼された SSL CA の PEM 形式の証明書を含むディレクトリのパス
--ssl-cert PEM 形式の X509 証明書を含むファイルのパス
--ssl-cipher SSL の暗号化に使用される、許可された暗号のリスト
--ssl-crl 証明書失効リストを含むファイルのパス 5.6.3
--ssl-crlpath 証明書失効リストファイルを含むディレクトリのパス 5.6.3
--ssl-key PEM 形式の X509 鍵を含むファイルのパス
--ssl-verify-server-cert サーバーへの接続時に、サーバーの証明書内のコモンネーム値をホスト名に対して検証
--use-threads 並列ファイルロードのスレッド数
--user サーバーへの接続時に使用する MySQL ユーザー名
--verbose 冗長モード
--version バージョン情報を表示して終了

  • --help, -?

    ヘルプメッセージを表示して終了します。

  • --bind-address=ip_address

    複数のネットワークインタフェースを持つコンピュータで、このオプションを使用して、MySQL サーバーへの接続に使用するインタフェースを選択します。

    このオプションは MySQL 5.6.1 からサポートされています。

  • --character-sets-dir=path

    文字セットがインストールされているディレクトリ。セクション10.5「文字セットの構成」を参照してください。

  • --columns=column_list, -c column_list

    このオプションは、カンマで区切られたカラム名のリストを値として取ります。カラム名の順序は、データファイルのカラムとテーブルのカラムを対応付ける方法を示しています。

  • --compress, -C

    クライアントとサーバーの両方が圧縮をサポートしている場合、その間で送受信される情報をすべて圧縮します。

  • --debug[=debug_options], -# [debug_options]

    デバッグのログを書き込みます。一般的な debug_options 文字列は d:t:o,file_name です。デフォルトは d:t:o です。

  • --debug-check

    プログラムの終了時に、デバッグ情報を出力します。

  • --debug-info

    プログラムの終了時に、デバッグ情報とメモリーおよび CPU 使用率の統計を出力します。

  • --default-character-set=charset_name

    charset_name をデフォルト文字セットとして使用します。セクション10.5「文字セットの構成」を参照してください。

  • --default-auth=plugin

    使用するクライアント側の認証プラグイン。セクション6.3.7「プラガブル認証」を参照してください。

    このオプションは MySQL 5.6.2 で追加されました。

  • --defaults-extra-file=file_name

    このオプションファイルは、グローバルオプションファイルのあとに読み取りますが、(UNIX では) ユーザーオプションファイルの前に読み取るようにしてください。ファイルが存在しないかアクセスできない場合、エラーが発生します。file_name は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。

  • --defaults-file=file_name

    指定されたオプションファイルのみ使用します。ファイルが存在しないかアクセスできない場合、エラーが発生します。file_name は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。

  • --defaults-group-suffix=str

    通常のオプショングループだけでなく、通常の名前に str のサフィクスが付いたグループも読み取ります。たとえば、mysqlimport は通常 [client] グループおよび [mysqlimport] グループを読み取ります。--defaults-group-suffix=_other オプションを指定した場合、mysqlimport[client_other] グループおよび [mysqlimport_other] グループも読み取ります。

  • --delete, -D

    テキストファイルをインポートする前にテーブルを空にします。

  • --fields-terminated-by=..., --fields-enclosed-by=..., --fields-optionally-enclosed-by=..., --fields-escaped-by=...

    これらのオプションは LOAD DATA INFILE の対応する句と同じ意味を持っています。セクション13.2.6「LOAD DATA INFILE 構文」を参照してください。

  • --force, -f

    エラーを無視します。たとえば、テキストファイルのテーブルが存在しない場合、残ったファイルの処理を続行します。--force がない場合は、テーブルが存在しないと mysqlimport は終了します。

  • --host=host_name, -h host_name

    指定されたホスト上の MySQL サーバーにデータをインポートします。デフォルトホストは localhost です。

  • --ignore, -i

    --replace オプションの説明を参照してください。

  • --ignore-lines=N

    データファイルの最初の N 行を無視します。

  • --lines-terminated-by=...

    このオプションは LOAD DATA INFILE の対応する句と同じ意味を持っています。たとえば、復帰改行と改行のペアで終了する行を持つ Windows ファイルをインポートする場合、--lines-terminated-by="\r\n " を使用してください。(コマンドインタプリタのエスケープ処理の規則によってはバックスラッシュを 2 つ使用しなければならない場合があります。)セクション13.2.6「LOAD DATA INFILE 構文」を参照してください。

  • --local, -L

    クライアントホストから入力ファイルをローカルで読み取ります。

  • --lock-tables, -l

    テキストファイルを処理する前に、すべてのテーブルを書き込み用にロックします。これにより、すべてのテーブルがサーバー上で同期していることが保証されます。

  • --login-path=name

    指名されたログインパスから .mylogin.cnf ログインファイルのオプションを読み取ります。ログインパスは、hostuser、および password という限定されたオプションのセットのみを許可するオプショングループです。ログインパスは、サーバーホストおよびそのサーバーで認証するための認証情報を示す値のセットであると考えてください。ログインパスファイルを作成するには、mysql_config_editor ユーティリティーを使用します。セクション4.6.6「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください。このオプションは MySQL 5.6.6 で追加されました。

  • --low-priority

    テーブルのロード時に LOW_PRIORITY を使用します。これは、テーブルレベルロックのみを使用するストレージエンジン (MyISAMMEMORY、および MERGE) にのみ影響を与えます。

  • --no-defaults

    オプションファイルを読み取りません。オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合、--no-defaults を使用して、オプションを読み取らないようにできます。

    例外として、.mylogin.cnf ファイルは、存在する場合はすべての場合に読み取られます。これにより、--no-defaults が使用された場合にも、コマンド行よりも安全な方法でパスワードを指定できます。(.mylogin.cnfmysql_config_editor ユーティリティーによって作成されます。セクション4.6.6「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください)。

  • --password[=password], -p[password]

    サーバーに接続する際に使用するパスワードです。短いオプション形式 (-p) を使用した場合は、オプションとパスワードの間にスペースを置くことはできません。コマンド行で、--password オプションまたは -p オプションに続けて password の値を指定しなかった場合、mysqlimport はそれを要求します。

    コマンド行でのパスワード指定は、セキュアでないと考えるべきです。セクション6.1.2.1「パスワードセキュリティーのためのエンドユーザーガイドライン」を参照してください。オプションファイルを使用すれば、コマンド行でパスワードを指定することを回避できます。

  • --pipe, -W

    Windows で、名前付きパイプを使用してサーバーに接続します。このオプションは、サーバーが名前付きパイプ接続をサポートしている場合にのみ適用されます。

  • --plugin-dir=path

    プラグインを検索するディレクトリ。--default-auth オプションを使用して認証プラグインを指定したが、mysqlimport がそれを検出できない場合は、このオプションを指定しなければならない可能性があります。セクション6.3.7「プラガブル認証」を参照してください。

    このオプションは MySQL 5.6.2 で追加されました。

  • --port=port_num, -P port_num

    接続に使用する TCP/IP ポート番号。

  • --print-defaults

    プログラム名と、オプションファイルから受け取るすべてのオプションを出力します。

  • --protocol={TCP|SOCKET|PIPE|MEMORY}

    サーバーへの接続に使用する接続プロトコル。このオプションは、ほかの接続パラメータによって、必要なプロトコル以外のものが通常使用される場合に役立ちます。許可される値の詳細は、セクション4.2.2「MySQL サーバーへの接続」を参照してください。

  • --replace, -r

    --replace オプションおよび --ignore オプションは、既存の行の一意のキー値を重複させるような入力行の処理を制御します。--replace を指定した場合、同じ一意のキー値を持つ既存の行は新しい行で置換されます。--ignore を指定した場合、既存の行の一意のキー値を重複させる入力行はスキップされます。どちらのオプションも指定しなかった場合、重複するキー値が検出されるとエラーが発生し、残りのテキストファイルは無視されます。

  • --secure-auth

    古い (4.1 より前の) 形式でサーバーにパスワードを送信しません。これにより、新しいパスワード形式を使用するサーバー以外への接続を防ぎます。このオプションはデフォルトで有効です。無効にするには --skip-secure-auth を使用します。このオプションは MySQL 5.6.17 で追加されました。

    注記

    4.1 より前のハッシュ方式を使用するパスワードはネイティブのパスワードハッシュ方式を使用するパスワードよりもセキュアでないため、使用しないようにしてください。4.1 よりも前のパスワードは非推奨であり、これらのサポートは今後の MySQL リリースで削除される予定です。アカウントのアップグレード手順については、セクション6.3.8.3「4.1 よりも前のパスワードハッシュ方式と mysql_old_password プラグインからの移行」を参照してください。

  • --shared-memory-base-name=name

    Windows で、共有メモリーを使用して作成されるローカルサーバーへの接続の共有メモリー名。デフォルト値は MYSQL です。共有メモリー名では大文字と小文字を区別します。

    共有メモリー接続を可能にするには、サーバーは --shared-memory オプションで起動する必要があります。

  • --silent, -s

    サイレントモード。エラーが発生したときのみ出力を生成します。

  • --socket=path, -S path

    localhost への接続用に使用する、Unix ソケットファイル、または Windows では使用する名前付きパイプの名前。

  • --ssl*

    --ssl で始まるオプションは、SSL を使用してサーバーに接続することを許可するかどうかを指定し、SSL 鍵および証明書を検索する場所を指定します。セクション6.3.10.4「SSL コマンドのオプション」を参照してください。

  • --user=user_name, -u user_name

    サーバーへの接続時に使用する MySQL ユーザー名。

  • --use-threads=N

    N 個のスレッドを使用して複数のファイルを並行してロードします。

  • --verbose, -v

    冗長モード。プログラムの動作についてより多くの情報を出力します。

  • --version, -V

    バージョン情報を表示して終了します。

mysqlimport の使用方法を表すサンプルのセッションを次に示します。

shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
shell> ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
shell> od -c imptest.txt
0000000   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.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
shell> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+