mysqldumpオプションのすべて

mysqldumpのオプションを全部書く。

基本の3つ

データベースを丸ごとダンプ

mysqldump -u username -ppassword  dbname > dumpfilename.sql

詳細:データベースを丸ごとダンプ|mysqldumpの教科書

ひとつのテーブルを指定してダンプ

mysqldump -u username -ppassword dbname tablename > dumpfilename.sql

詳細:ひとつのテーブルを指定してダンプ|mysqldumpの教科書

リモートサーバからダンプ

mysqldump -u username -ppassword -h 123.456.789.012 dbname > dumpfilename.sql

詳細:リモートサーバからダンプ|mysqldumpの教科書

INSERT文のカスタム

INSERT文のみをダンプ

mysqldump -u username -ppassword --no-create-info dbname tablename > dumpfilename.sql

詳細:INSERT文のみをダンプ|mysqldumpの教科書

REPLACE文をダンプ

mysqldump -u username -ppassword  --replace --no-create-info dbname tablename > dumpfilename.sql

詳細:REPLACE文をダンプ|mysqldumpの教科書

完全なinsert文をダンプ

mysqldump -u username -ppassword --complete-insert dbname > complete-insert.sql

詳細:完全なinsert文をダンプ|mysqldumpの教科書

短いinsert文をダンプ

mysqldump -u username -ppassword --skip-extended-insert dbname > skip-extended-insert.sql

詳細:短いinsert文をダンプ|mysqldumpの教科書

短くて完全なinsert文をダンプ

mysqldump -u username -ppassword --complete-insert --skip-extended-insert dbname > short-and-complete-insert.sql

詳細:短くて完全なinsert文をダンプ|mysqldumpの教科書

create table文のカスタム

テーブルの構造のみダンプ(create文のみダンプ)

mysqldump -u username -ppassword -d dbname > stracture.sql

詳細:テーブルの構造のみダンプ(create文のみダンプ)|mysqldumpの教科書

drop tableを入れずにダンプ

mysqldump -u username -ppassword --skip-add-drop-table dbname > no-drop-table.sql

詳細:drop tableを入れずにダンプ|mysqldumpの教科書

insert文のみをダンプ

mysqldump -u username -ppassword --no-create-info dbname > only-insert.sql

詳細:insert文のみをダンプ|mysqldumpの教科書

database関連

データベースを丸ごとダンプ

mysqldump -u username -ppassword  dbname > dumpfilename.sql

詳細:データベースを丸ごとダンプ|mysqldumpの教科書

drop databaseをつけてダンプ

mysqldump -u username -ppassword  --add-drop-database --all-databases > dumpfilename.sql

詳細:drop databaseをつけてダンプ|mysqldumpの教科書

全てのデータベースをダンプ

mysqldump -u username -ppassword --all-databases > all-databases.sql

詳細:全てのデータベースをダンプ|mysqldumpの教科書

複数のデータベースを指定してダンプ

mysqldump -u username -ppassword --databases database1 database2 > multiple-databases.sql

詳細:複数のデータベースを指定してダンプ|mysqldumpの教科書

view関連

viewの結果データをCSV出力

SELECT * FROM (ビュー名) INTO OUTFILE "(ファイル名フルパス、円マークはエスケープ)" FIELDS TERMINATED BY ',';
-- select文であることに注意

詳細:viewの結果データをCSV出力|mysqldumpの教科書

viewの定義情報をダンプ

mysqldump -u username -ppassword dbname viewname > create-view.sql

詳細:viewの定義情報をダンプ|mysqldumpの教科書

圧縮ファイルで出力

mysqldumpして直接gzip圧縮するコマンド(linux)

mysqldump -u username -ppassword dbname | gzip > dumpfilename.sql.gz 

詳細:mysqldumpして直接gzip圧縮するコマンド(linux)|mysqldumpの教科書

mysqldumpして直接zip圧縮するコマンド(windows、7-Zipにパスが通っている場合)

mysqldump -u username -ppassword dbname | 7za.exe a dumpfilename.sql.zip 

詳細:mysqldumpして直接zip圧縮するコマンド(windows、7-Zipにパスが通っている場合)|mysqldumpの教科書

7-zipにパスが通っていない場合は下記記事を参照
詳細:mysqldumpして直接zip圧縮するコマンド(windows、7-Zipを知らない人向け)|mysqldumpの教科書

CSVファイルへダンプ

CSVファイルへダンプ(Linux用)

mysqldump -u username -ppassword  --tab=(出力先ディレクトリ) --fields-terminated-by=, dbname tablename

詳細:CSVファイルへダンプ(Linux用)|mysqldumpの教科書

viewの結果データをCSV出力

SELECT * FROM (ビュー名) INTO OUTFILE "(ファイル名フルパス、円マークはエスケープ)" FIELDS TERMINATED BY ',';

詳細:viewの結果データをCSV出力|mysqldumpの教科書

select結果をCSV出力

SELECT * FROM (テーブル名) where (条件文) INTO OUTFILE "(ファイル名フルパス、円マークはエスケープ)" FIELDS TERMINATED BY ',';

詳細:select結果をCSV出力|mysqldumpの教科書

開発・環境移行

リモートサーバからダンプ

mysqldump -u username -ppassword -h 123.456.789.012 dbname > dumpfilename.sql

詳細:リモートサーバからダンプ|mysqldumpの教科書

全てのデータベースをダンプ

mysqldump -u username -ppassword --all-databases > all-databases.sql

詳細:全てのデータベースをダンプ|mysqldumpの教科書

複数のデータベースを指定してダンプ

mysqldump -u username -ppassword --databases database1 database2 > multiple-databases.sql

詳細:複数のデータベースを指定してダンプ|mysqldumpの教科書

テーブルの構造のみダンプ(create文のみダンプ)

mysqldump -u username -ppassword -d dbname > stracture.sql

詳細:テーブルの構造のみダンプ(create文のみダンプ)|mysqldumpの教科書

insert文のみをダンプ

mysqldump -u username -ppassword --no-create-info dbname > only-insert.sql

詳細:insert文のみをダンプ|mysqldumpの教科書

完全なinsert文をダンプ

mysqldump -u username -ppassword --complete-insert dbname > complete-insert.sql

詳細:完全なinsert文をダンプ|mysqldumpの教科書

短くて完全なinsert文をダンプ

mysqldump -u username -ppassword --complete-insert --skip-extended-insert dbname > short-and-complete-insert.sql

詳細:短くて完全なinsert文をダンプ|mysqldumpの教科書

その他コマンド

リモートサーバからダンプ

mysqldump -u username -ppassword -h 123.456.789.012 dbname > dumpfilename.sql

詳細:リモートサーバからダンプ|mysqldumpの教科書

where句を使ってダンプ

mysqldump -u username -ppassword --where "(where条件)" dbname tablename > using-where.sql

詳細:where句を使ってダンプ|mysqldumpの教科書

基本的なコマンド

データベースを丸ごとダンプ

mysqldump -u username -ppassword  dbname > dumpfilename.sql

詳細:データベースを丸ごとダンプ|mysqldumpの教科書

リモートサーバからダンプ

mysqldump -u username -ppassword -h 123.456.789.012 dbname > dumpfilename.sql

詳細:リモートサーバからダンプ|mysqldumpの教科書

ひとつのテーブルを指定してダンプ

mysqldump -u username -ppassword dbname tablename > dumpfilename.sql

詳細:ひとつのテーブルを指定してダンプ|mysqldumpの教科書

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください