Mysqlデータのエクスポート方法


MySQLがデータをエクスポートする目的は、データベースのバックアップ、テーブル構造のエクスポート、テーブルデータのエクスポート、分析データの取得など、さまざまです.
Part1 select into outfile
まず、最も短くて精悍なselect into outfileと言います.これは小型データベース分析データで最もよく使われる収集データ方式です.具体的な文法は以下の通りです.【select文】into outfile【エクスポートファイル名】【エクスポートパラメータ】
【select文】古典的なクエリSQLであり、列、where条件、group、order、limitなどを指定できます.【エクスポートファイル名】は、ターゲットファイルのフルパスです.mysqlアカウントの権限の問題のため、通常、/tmp/mysql/user/201810などの一時ディレクトリにファイルをエクスポートします.csv【導出パラメータ】
  • fields terminated by'str':フィールド間の区切り記号を設定します.デフォルトは「t」です.
  • fields enclosed by'char':単一引用符、二重引用符など、フィールドに含まれる値を含む記号を設定します.デフォルトでは記号は使用されません.
  • fields optionally enclosed by'char':CHAR、VARCHR、TEXTなどの文字型フィールドを囲む区切り記号を設定し、デフォルトでは記号は使用されません.
  • fields escaped by'char':エスケープ文字を設定し、デフォルト値は「」です.
  • lines starting by'str':各行のデータの先頭の文字を設定し、単一または複数の文字にすることができます.デフォルトでは文字は使用されません.
  • lines terminated by'char':各行のデータの末尾の文字を設定し、単一または複数の文字にすることができます.既定値は「」です.

  • たとえば、
    
    select * from platform_user into outfile '/tmp/mysql/user/201810.csv' 
    fields terminated by ',' 
              enclosed by '"'
    lines starting by '\r'
             terminated by '
    ';

    エクスポートしたデータが中国語に関連している場合、csvを開くと文字化けして見える可能性があります.文字化けしを処理するには、まずデータベースが中国語(通常UTF 8符号化を設定すればよい)vim/etc/myをサポートしていることを確認する.cnf、次のオプションを追加します.
    [client]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
    [mysql]
    default-character-set=utf8

    データベースがutf 8であっても、エクスポートされたファイルdownloadはローカルで文字化けしている可能性があります.サーバ上でless、tailが見た結果は正常ですか?ローカル環境(windows)でcsvをメモ帳で開き、excelの符号化フォーマットによって決定される符号化フォーマットANSIを保存すればよい.
    Part 2 mysqldumpエクスポートデータ
    開発者や運営者としてmysqldumpは、より多くのことができるため、使用頻度が高い.mysqldumpは論理バックアップツールに属します.結果がエクスポートされるため、SQLの形式で表示されることが多く、データの変化過程は記録されません.物理バックアップについては、「MySQLテクノロジの内幕」という本を参照してください.詳細はこちら.mysqldumpの構文は簡単です.mysqldump 【options】> dump.sqlです.
    しかし、optionsのオプションパラメータは多く、マニュアルでは、リンクoption、ファイルoption、データ定義DDL option、Debug option、国際化option、クラスタReplication option、フォーマットoption、パフォーマンスoption、トランザクションoptionなど、いくつかの種類に分けられています.興味のある学生はMYSQLの公式マニュアルの定義を参照することができ、ここではいくつかの一般的なアプリケーションシーンだけを紹介します.
  • 表構造と最新データmysqldump-uroot-p platform 88>/data/mysql/dump 20181020を導出.sql、パスワードを入力すればいいです.
  • --routines,-Rエクスポートストレージプロセスおよび関数mysqldump-uroot-p-R platform 88>/data/mysql/dump 20181022.sql
  • -ignore-tableあるテーブルmysqldump-uroot-p--ignore-table=platform 88をスキップする.platformapitrace platform88 >/data/mysql/dump20181022.sql

  • 複数のテーブルをスキップする場合は、mysqldump-uroot-p-R--ignore-table=platform 88というオプションを複数回使用します.platformapitrace --ignore-table=platform88.platformaccount platform88 >/data/mysql/dump20181022.sqlこのオプション値にはschemaが含まれている必要があります.
  • -X--lock-all-tables,-l--lock-tablesエクスポート前ロックテーブルレコードmysqldump-uroot-p-R--ignore-table=platform 88.platformapitrace --lock-tables -B platform88 >/data/mysql/dump20181022.sql

  • lock tablesを使用する場合は、データベース、すなわち-Bパラメータを指定する必要があります.
  • --no-data-d表構造mysqldump-uroot-p-R-d-B platform 88>/data/mysql/dump 20181022のみ導出.sql

  • 6.--no-create-info-tデータのみをエクスポートし、テーブル構造mysqldump-uroot-p-R-t-B platform 88>/data/mysql/dump 20181022を作成しない.sql
  • -optオプションセット-optデフォルトでは、add-drop-table--add-locks--create-options--disable-keys--extended-insert--lock-tables--quick--set-charsetの略が実行されます.
  • --dump-slave[=value]、--master-data[=value]プライマリ・スレーブ・アーキテクチャの一般的なパラメータ、プライマリ・スレーブ・バックアップ.

  • 9.--compact圧縮--compactのデフォルトは以下のオプションをオンにします:--skip-add-drop-table,--skip-add-locks,--skip-comments,--skip-disable-keys,and--skip-set-charset options.