MySQLデータのインポートおよびエクスポート

このオペレーティングシステムとmysql8.0窓のための紙のバージョン。

1.mysqlエクスポートSQLファイル

ここでは直接使用mysqlの提供mysqlpumpツール、以下の説明ではmysqlpumpです

mysqlpumpクライアントバックアップユーティリティの実行ロジックセットを生成するためには、元のデータベースのオブジェクト定義表のデータとSQLステートメントを再現するために行うことができます。これは、1つのまたは複数のバックアップまたは別のSQL Serverへの移行にMySQLデータベースをダンプします。

mysqlpump機能は次のとおりです。

  • 並列処理データベースは、プロセス・ダンプを加速するために、データベース内のオブジェクト

  • データベースおよびデータベースオブジェクトをダンプするためのより良いコントロール(テーブル、ストアドプロシージャ、ユーザアカウント)

  • ユーザーアカウントの管理アカウントの文を(ダンプ、)  ではなく、挿入などのシステムデータベースCREATE USERGRANTmysql

  • 圧縮された出力を作成する機能

  • 進捗インジケータ(値は推定値です)

  • ダンプ・ファイルのリロードについては、InnoDB行を挿入した後、インデックスを追加することで機能するテーブルが  速くセカンダリインデックスを作成します

mysqlpumpは少なくとも必要なテーブルダンプ、特権をビューをダンプ、トリガをダンプし、使用しないオプションの 権限をダンプ、ユーザー定義データベース・システムは、必要とする許可を一部のオプションは、オプションの説明などの追加の権利を、必要とするかもしれません。SELECTSHOW VIEWTRIGGERLOCK TABLES--single-transactionSELECTmysql

(1)単一のデータベースが導出しました

语法:mysqlpump -h [IP] -P [ポート] -u [USER_NAME] -p [パスワード] DB_NAME  [ tbl_name1 tbl_name2 ...]> FILE_PATH

(2)多くのデータベースのエクスポート

语法:mysqlpump -h [IP] -P [ポート] -u [USER_NAME] -p [パスワード] --databases db_name1 db_name2 ...>  FILE_PATH

非常に強力mysqlpumpだけでなく、公式文書を表示することができます応じて、さまざまなオプションをサポートしています

(3)別のMySQLサーバーのMySQLにあるサーバーからデータをコピーします

语法:mysqldumpを-h [IP] -P [ポート] -u [USER_NAME] -p [パスワード] --opt db_nameに| mysqlの-h [IP]  -P [ポート] -u [USER_NAME] -p [パスワード] --compress  DB_NAME

--opt:このオプションはデフォルトで有効になっています  それはあなたがすぐにMySQLサーバにリロードすることができ、高速なダンプ運転を提供し、ダンプファイルを生成します。 --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset是组合的简写。

--compress:クライアントとサーバー(可能な場合)の間で送信されるすべての情報を圧縮します。MySQLの8.0.18の当初から、このオプションは推奨されません。これは、将来的には、MySQLのバージョンを削除します。

 

SQLファイルを実行2.mysql

実行するためにmysqlクライアントを入力します:ソース  FILE_PATHまたは\ 。  FILE_PATHコマンドを。

 

3.mysqlインポートバルクデータ

LOADデータの完全な構文は次のとおりです。

LOW_PRIORITY:あなたが使用している場合はLOW_PRIORITY修飾子を、 ステートメントの実行はされますテーブルから読み込まれていない他のクライアントまで遅らせます。これは、(例えば、専用テーブル・レベル・ロックを使用のみストレージエンジンに影響を与え、  そして)。LOAD DATAMyISAMMEMORYMERGE

 

CONCURRENT:もし同時挿入条件サポートCONCURRENTMyISAMテーブルが指定修飾子  (すなわち、それが途中でフリーブロックを含まない)、他のスレッドがされてもよい行うテーブルからデータを取得します  他のスレッドがテーブルを使用しない場合でも、この修飾子はなり影響を与えるビットのパフォーマンスをLOAD DATALOAD DATA

 

LOCAL:場合はLOCAL指定された、ファイルが読み込まれ、クライアントのホストにサーバー上のクライアントプログラムによって送信されます。ファイルには、その正確な場所を指定するフルパス名として提供することができます。相対パス名として与えられた場合は、起動ディレクトリへの相対名を説明するためのクライアントプログラムです。

場合はLOCAL指定されていないと、ファイルはサーバホスト上にある必要があり、サーバによって直接読み取ります。LOCALロード操作は、サーバー上にあるテキストファイルを読み込みます。セキュリティ上の理由から、このタイプの操作は、あなたが持っていることが必要です 許可を。また、非動作によってロードされ  、システム変数の限界。値が空でないディレクトリ名がある場合は、ディレクトリに存在する必要がありますファイルをロードする必要があります。変数の値は、(それが安全ではありません)空の場合、ファイルサーバは読み取り専用する必要があります。FILELOCALsecure_file_priv

 

FILE_NAME:Windows上のファイルパスは、バックスラッシュはスラッシュでパス名を指定したり、バックスラッシュが2倍になります。

 

 従来のプロセス入力行制御線は、一意のキー値のコピーを変更し:REPLACEIGNORE

  • 指定された場合はREPLACE、入力行は、既存の行を置き換えます。換言すれば、主キーまたは一意のインデックス値は、従来の行と同じです。

  • 指定された場合はIGNORE、従来の複写行が一意キーで行を破棄しています。

  • もし修飾子が指定されていない場合、動作はするか否かに依存してLOCAL指定する修飾子を。そうでない場合LOCAL、それが見つけたときには、重複キーエラーが発生し、テキストファイルの残りの部分を無視します。使用している場合LOCAL、デフォルトの動作をし、IGNORE 指定した同じことを、  サーバーが動作中にファイルの送信を停止することができませんでしたので、これはです。

 

PARTITION:LOAD DATA明示的なパーティションの選択をサポートし、使用PARTITION コンマ区切りの名前のパーティションまたはサブパーティション内の1つまたは複数のオプションが両方のリストに。このオプションを使用する場合は、ファイル内のすべての行がどのパーティションまたはリストで指定されたサブパーティションに挿入できない場合は、ステートメントがエラーで失敗します「  と一致していないパーティションの与えられたセットの行を見つけます。」詳細と例については。パーティションテーブルのストレージエンジンで使用するテーブルのロックの場合、たとえばMyISAM、  LOAD DATAあなたは、任意のパーティションのロックをトリミングすることはできません。これは、例えば、行レベルロックのストレージエンジンのテーブルを使用するように適用されません  InnoDB

 

文字セット:サーバー使用してシステム変数命令の文字セットを  ファイル内の情報を説明します。 そして、設定は  入力の解釈に影響を与えません。デフォルト値と異なる入力ファイルの内容によって使用される文字セットは、この使用するのが最善である場合に句を文字セット指定されたファイルcharacter_set_databaseSET NAMEScharacter_set_clientCHARACTER SET

 

FIELDS:指定した場合FIELDS句を、各句(TERMINATED BY、  [OPTIONALLY] ENCLOSED BY及び  ESCAPED BY)は任意であるが、少なくともする必要がありますいずれかを指定これらの句は、パラメータは、ASCII文字のみが含まれていることができます。

  フィールドとフィールドの間に区切り:BY TERMINATED。

  文字列データ型からだけ持つ、囲まれたフィールド:BY ENCLOSED。

  BY ESCAPED:特殊な制御文字を読み書きする方法、すなわち、エスケープ文字を記述しました。

 

LINES:

  BY STARTING:すべての入力行は無視する共通のプレフィックスを持っている場合は、使用することができますプレフィックススキップすると、以前のコンテンツをラインは、接頭辞が含まれていない場合は、行全体がスキップされます。

  TERMINATED 各行と各列との間のセパレータ:BY。

 

IGNORE number:该选项可用于忽略文件开头的行.

 

col_name_or_user_var:默认情况下,如果在LOAD DATA语句末尾没有提供列列表 ,则输入行应包含每个表列的字段。如果只想加载某些表的列,请指定列列表。

 

SET条項:各col_name_or_user_var値は、列名またはユーザー変数です。ユーザー変数、SET句は、結果はその変換前の値に列に割り当てられている前に、あなたが実行することができます。

 

4.mysql輸出バルクデータ

语法:[COL_NAMEを[、COL_NAME] ...] SELECT  INTO OUTFILE 'file_pathに'  [ CHARACTERのSETのcharset_nameに] 

    [{ FIELDS | COLUMNS}

      [ TERMINATED BY ' 文字列 ' ]

      [ [ OPTIONALLY ] ENCLOSED BY ' 文字 ' ]

      ESCAPED BY ' 文字 ' ]

    ]

    [ LINES

      [ STARTING BY ' 文字列 ' ]

      [ TERMINATED BY ' 文字列 ' ]

    ]

     TABLE_NAME FROM;

声明は、主にあなたがすぐにサーバーコンピュータ上のテキストファイルにテーブルをダンプできるようにするために使用されます。あなたはサーバホスト以外のホスト上で生成されるファイルを作成する場合、通常は、使用することはできません 、彼らはホストのファイルシステムのためのサーバーへの相対ファイルパスを記述することはできませんので。SELECT ... INTO OUTFILESELECT ... INTO OUTFILE

リモートコンピュータにインストールされたMySQLクライアントソフトウェアは、クライアント・コマンドを使用することができる場合は、(例えば、  クライアントホスト上のファイルを生成)。 mysql -e "SELECT ..." > file_name

ネットワークは、リモートホスト上の場所にサーバーのファイルシステムへのアクセス、ファイルのパスをマップするために使用することができます場合は、サーバホストとは異なるホスト上で生成されたファイルを作成することができます。この場合、それは、ターゲットホストが必要としない存在  のMySQL(またはいくつかの他のMySQLクライアントプログラム)。

SELECT ... INTO OUTFILEサプリメント書き込み用カラム値をに変換される 句指定された文字セットそのような節が存在しない場合、使用文字セット変換格納された値を実際には、キャラクタ・セットの変換はありません。結果セットが複数の列の文字セットが含まれている場合、出力データファイルも正しいファイルを再ロードすることができない場合があり、そうします。LOAD DATACHARACTER SETbinary

 

 

おすすめ

転載: www.cnblogs.com/nearWind/p/11504116.html