私は私のMySQLデータベース内のすべてのデータをダンプするための構文を探しています。テーブル情報は必要ありません。
mysqldump --no-create-info ...
トリガーを使用している場合は、--skip-triggers
も含める必要があります。
--databases ...
オプションを使用している場合は、--no-create-db
も含める必要があります。
これはうまくいくはずです。
# To export to file (data only)
mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql
# To export to file (structure only)
mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql
# To import to database
mysql -u [user] -p[pass] mydb < mydb.sql
注:-p
と[pass]
の間にスペースはありません。
>> man -k mysqldump [enter in the terminal]
あなたは以下の説明を見つけるでしょう
--no-create-info、-t
各ダンプ表を再作成するCREATE TABLEステートメントを書かないでください。注このオプションは、mysqldumpの出力からログファイルグループまたはテーブルスペースを作成するステートメントを除外するものではありません。ただし、この目的のために--no-tablespacesオプションを使用することができます。
--no-data、-d
表の行情報を書き込まないでください(つまり、表の内容をダンプしないでください)。テーブルのCREATE TABLE文だけをダンプしたい場合(ダンプファイルをロードしてテーブルの空のコピーを作成する場合など)は、これは便利です。
# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql
# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql
INSERTクエリだけが欲しい場合は、以下を使用してください。
mysqldump --skip-triggers --compact --no-create-info
次のスニペットを使用することをお勧めします。巨大なテーブルでも問題なく動作します(それ以外の場合は、エディタでダンプを開き、不要なものを削除します)。
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
少なくともmysql5.xが必要ですが、最近は古いものを実行しています。
承認された回答を使用してデータをエクスポートしようとすると、エラーが発生しました。
ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
上記のように:
mysqldump --no-create-info
データをエクスポートしますが、create triggerステートメントもエクスポートします。私のように1つのコマンドであなたの出力データベース構造(トリガーも含みます)をしてからデータを取得するために上記のコマンドを使うならあなたは '--skip-triggers'も使うべきです。
あなたはちょうどデータが欲しいのであれば:
mysqldump --no-create-info --skip-triggers
データを 区切りテキスト形式 でダンプするだけです。
区切りファイルにダンプしようとします。
mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=,