このオペレーティングシステムとmysql8.0窓のための紙のバージョン。
1.mysqlエクスポートSQLファイル
ここでは直接使用mysqlの提供mysqlpumpツール、以下の説明ではmysqlpumpです
mysqlpumpクライアントバックアップユーティリティの実行ロジックセットを生成するためには、元のデータベースのオブジェクト定義表のデータとSQLステートメントを再現するために行うことができます。これは、1つのまたは複数のバックアップまたは別のSQL Serverへの移行にMySQLデータベースをダンプします。
mysqlpump機能は次のとおりです。
-
並列処理データベースは、プロセス・ダンプを加速するために、データベース内のオブジェクト
-
データベースおよびデータベースオブジェクトをダンプするためのより良いコントロール(テーブル、ストアドプロシージャ、ユーザアカウント)
-
ユーザーアカウントの管理アカウントの文を(ダンプ、) ではなく、挿入などのシステムデータベース
CREATE USER
GRANT
mysql
-
圧縮された出力を作成する機能
-
進捗インジケータ(値は推定値です)
-
ダンプ・ファイルのリロードについては、
InnoDB
行を挿入した後、インデックスを追加することで機能するテーブルが 速くセカンダリインデックスを作成します
mysqlpumpは少なくとも必要なテーブルダンプの、特権をビューをダンプ、トリガをダンプし、使用しないオプションの 権限を。ダンプ、ユーザー定義データベース・システムは、必要とする許可を。一部のオプションは、オプションの説明などの追加の権利を、必要とするかもしれません。SELECT
SHOW VIEW
TRIGGER
LOCK TABLES
--single-transaction
SELECT
mysql
(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 DATA
MyISAM
MEMORY
MERGE
CONCURRENT:もし同時挿入条件サポートCONCURRENT
のMyISAM
テーブルが指定修飾子 (すなわち、それが途中でフリーブロックを含まない)、他のスレッドがされてもよい行うテーブルからデータを取得します 。他のスレッドがテーブルを使用しない場合でも、この修飾子はなり影響を与えるビットのパフォーマンスを。LOAD DATA
LOAD DATA
LOCAL:場合はLOCAL
指定された、ファイルが読み込まれ、クライアントのホストにサーバー上のクライアントプログラムによって送信されます。ファイルには、その正確な場所を指定するフルパス名として提供することができます。相対パス名として与えられた場合は、起動ディレクトリへの相対名を説明するためのクライアントプログラムです。
場合はLOCAL
指定されていないと、ファイルはサーバホスト上にある必要があり、サーバによって直接読み取ります。非LOCAL
ロード操作は、サーバー上にあるテキストファイルを読み込みます。セキュリティ上の理由から、このタイプの操作は、あなたが持っていることが必要です 許可を。また、非動作によってロードされ 、システム変数の限界。値が空でないディレクトリ名がある場合は、ディレクトリに存在する必要がありますファイルをロードする必要があります。変数の値は、(それが安全ではありません)空の場合、ファイルサーバは読み取り専用する必要があります。FILE
LOCAL
secure_file_priv
FILE_NAME:Windows上のファイルパスは、バックスラッシュはスラッシュでパス名を指定したり、バックスラッシュが2倍になります。
従来のプロセス入力行制御線は、一意のキー値のコピーを変更し:REPLACE
IGNORE
-
指定された場合は
REPLACE
、入力行は、既存の行を置き換えます。換言すれば、主キーまたは一意のインデックス値は、従来の行と同じです。 -
指定された場合は
IGNORE
、従来の複写行が一意キーで行を破棄しています。 -
もし修飾子が指定されていない場合、動作はするか否かに依存して
LOCAL
指定する修飾子を。そうでない場合LOCAL
、それが見つけたときには、重複キーエラーが発生し、テキストファイルの残りの部分を無視します。使用している場合LOCAL
、デフォルトの動作をし、IGNORE
指定した同じことを、 サーバーが動作中にファイルの送信を停止することができませんでしたので、これはです。
PARTITION:
LOAD DATA
明示的なパーティションの選択をサポートし、使用PARTITION
コンマ区切りの名前のパーティションまたはサブパーティション内の1つまたは複数のオプションが両方のリストに。このオプションを使用する場合は、ファイル内のすべての行がどのパーティションまたはリストで指定されたサブパーティションに挿入できない場合は、ステートメントがエラーで失敗します「 と一致していないパーティションの与えられたセットの行を見つけます。」詳細と例については。パーティションテーブルのストレージエンジンで使用するテーブルのロックの場合、たとえばMyISAM
、 LOAD DATA
あなたは、任意のパーティションのロックをトリミングすることはできません。これは、例えば、行レベルロックのストレージエンジンのテーブルを使用するように適用されません InnoDB
。
文字セット:サーバー使用してシステム変数命令の文字セットを ファイル内の情報を説明します。 そして、設定は 入力の解釈に影響を与えません。デフォルト値と異なる入力ファイルの内容によって使用される文字セットは、この使用するのが最善である場合に句を文字セット指定されたファイル。character_set_database
SET NAMES
character_set_client
CHARACTER 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 OUTFILE
SELECT ... INTO OUTFILE
リモートコンピュータにインストールされたMySQLクライアントソフトウェアは、クライアント・コマンドを使用することができる場合は、(例えば、 クライアントホスト上のファイルを生成)。 mysql -e "SELECT ..." >
file_name
ネットワークは、リモートホスト上の場所にサーバーのファイルシステムへのアクセス、ファイルのパスをマップするために使用することができます場合は、サーバホストとは異なるホスト上で生成されたファイルを作成することができます。この場合、それは、ターゲットホストが必要としない存在 のMySQL(またはいくつかの他のMySQLクライアントプログラム)。
SELECT ... INTO OUTFILE
サプリメント。書き込み用カラム値をに変換される 句指定された文字セット。そのような節が存在しない場合、使用文字セット変換格納された値を。実際には、キャラクタ・セットの変換はありません。結果セットが複数の列の文字セットが含まれている場合、出力データファイルも正しいファイルを再ロードすることができない場合があり、そうします。LOAD DATA
CHARACTER SET
binary