mysqldumpバックアップリストアとmysqldumpインポートエクスポート文の詳細

4246 ワード

MYSQLdumpパラメータの詳細
mysqldumpバックアップ:
 
  
mysqldump -u -p -h a -w “sql ” �Clock-all-tables >

mysqldumpリストア:
 
  
mysqldump -u -p -h <

mysqldumpは条件によってエクスポートされます.
 
  
mysqldump -u -p -h a �Cwhere “ ” �Cno- >
mysqldump -uroot -p1234 dbname a �Cwhere “tag='88′” �Cno-create-info> c:\a.sql

mysqldumpは条件によってインポートされます.
 
  
mysqldump -u -p -h <

ケース:
 
  
mysql -uroot -p1234 db1 < c:\a.txt

mysqldumpエクスポートテーブル:
 
  
mysqldump -u -p -h

ケース:mysqldump-uroot-p sqlhk 9 a、Cno-data
しゅパラメータ
Ccompatible=nameはmysqldumpに、エクスポートされたデータがどのデータベースまたは古いバージョンのMySQLサーバと互換性があるかを示します.値は、ansi、mysql 323、mysql 40、postgresql、oracle、mssql、db 2、maxdb、no_key_options、no_tables_options、no_field_optionsなどは、いくつかの値を使用してカンマで区切ります.もちろん、完全な互換性を保証するのではなく、できるだけ互換性があります.Ccomplete-insert,-cでエクスポートしたデータは、フィールド名を含む完全なINSERT方式を採用しています.つまり、すべての値を1行に書きます.そうすると挿入効率が向上しますが、max_を受ける可能性があります.allowed_packetパラメータの影響で挿入に失敗しました.そのため、このパラメータを慎重に使用する必要があります.少なくとも私はお勧めしません.Cdefault-character-set=charsetデータをエクスポートするときにどの文字セットを使用するかを指定し、データテーブルがデフォルトのlatin 1文字セットを使用していない場合は、エクスポート時にこのオプションを指定する必要があります.そうしないと、データを再インポートした後に文字化けして問題が発生します.Cdisable-keysはmysqldumpにINSERT文の先頭と末尾に/*を追加することを教えます!40000 ALTER TABLE table DISABLE KEYS */; と/*!40000 ALTER TABLE table ENABLE KEYS */; すべてのデータを挿入した後にインデックスを再構築するため、文を挿入する速度を大幅に向上させることができます.このオプションはMyISAMテーブルにのみ適用されます.�Cextended-insert=true|falseデフォルトでmysqldumpはCcomplete-insertモードをオンにしますので、使いたくない場合は、このオプションを使用してfalseの値を設定します.Chex-blobは、16進数フォーマットを使用してバイナリ文字列フィールドをエクスポートします.バイナリデータがある場合は、このオプションを使用する必要があります.影響するフィールドタイプはBINARY,VARBINARY,BLOBである.Clock-all-tables,-xは、エクスポートを開始する前に、すべてのデータベース内のすべてのテーブルをロックするように要求し、データの一貫性を保証します.これはグローバル読み込みロックであり、Csingle-transactionおよびClock-tablesオプションを自動的にオフにします.Clock-tablesは、Clock-all-tablesと似ていますが、すべてのライブラリの下にあるテーブルを一気にロックするのではなく、現在エクスポートされているデータテーブルをロックします.このオプションはMyISAMテーブルにのみ適用され、Innodbテーブルの場合はCsingle-transactionオプションを使用できます.Cno-create-info,-tはデータのみをエクスポートし、CREATE TABLE文は追加しません.Cno-data,-dはデータをエクスポートせず、データベーステーブル構造のみをエクスポートします.Coptこれはただのショートカットオプションで、Cadd-drop-tables、Cadd-locking、Ccreate-option、Cdisable-keys、Cextended-insert、Clock-tables、Cquick、Cset-charsetの両方を追加するのと同じです.このオプションではmysqldumpがすぐにデータをエクスポートし、エクスポートしたデータをすぐにエクスポートできます.このオプションはデフォルトでオンですが、Cskip-optで無効にできます.ただし、mysqldumpを実行してCquickまたはCoptオプションが指定されていない場合は、結果セット全体がメモリに格納されます.大きなデータベースをエクスポートすると、問題が発生する可能性があります.Cquick,-qこのオプションは、すべてのレコードを取得してメモリにキャッシュするのではなく、mysqldumpにサーバクエリからレコードを直接出力するように強制する大きなテーブルをエクスポートするときに役立ちます.�Croutines、-Rは、ストアド・プロシージャおよびカスタム関数をエクスポートします.Csingle-transactionこのオプションは、データをエクスポートする前にBEGIN SQL文を発行します.BEGINはアプリケーションをブロックせず、エクスポート時のデータベースの一貫性を保証します.InnoDBやBDなどのトランザクション・テーブルにのみ適用されます.このオプションとClock-tablesオプションは、LOCK TABLESが保留中のトランザクションを暗黙的にコミットするため、反発します.大きなテーブルをエクスポートするには、Cquickオプションを併用します.Ctriggersはトリガを同時にエクスポートします.このオプションはデフォルトで有効になり、Cskip-triggersで無効になります.その他のパラメータの詳細はマニュアルを参照してください.私は通常、以下のSQLを使用してMyISAMテーブルをバックアップします./usr/local/mysql/bin/mysqldump-uyejr-pyejr」、Cdefault-character-set=utf 8、Cextended-insert=false、Ctriggers-R、Chex-blob-x db_name > db_name.sqlは以下のSQLを使用してInnodb表をバックアップする:/usr/local/mysql/bin/mysqldump-uyejr-pyejr」、Cdefault-character-set=utf 8、Copt、Cextended-insert=false、Ctriggers-R、Chex-blob、Csingle-transaction db_name > db_name.sqlまた、オンラインバックアップを実現するには、/usr/local/mysql/bin/mysqldump-uyejr-pyejr」、Cdefault-character-set=utf 8、Cmaster-data=1、Csingle-transaction、Cflush-logs db_name > db_name.sql最初の瞬間にロックテーブルを要求してbinlogをリフレッシュし、エクスポートしたファイルにCHANGE MASTER文を加えて現在バックアップしているbinlogの場所を指定し、このファイルをslaveに復元するには、この方法を使用します.1.2還元
mysqldumpでバックアップしたファイルは、直接読み込むことができるSQLスクリプトで、データをインポートする方法は2つあります.
mysqlクライアントを直接使用するには、次のようにします.
 
  
/usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql

SOURCE構文(実験は成功しません!!)では、標準的なSQL構文ではなくmysqlクライアントが提供する機能です.たとえば、SOURCE/tmp/db_name.sqlです.ここではファイルの絶対パスを指定し、mysqld実行ユーザー(nobodyなど)が読み取り制限を持つファイルである必要があります.