タグ

MySQLとDBに関するbashalogのブックマーク (3)

  • 200GB のダンプファイルを一部のみリストアした話 | バシャログ。

    なんかすでに梅雨がきてしまったかのような天気ですね。昔雨が嫌いだった kimoto です。今はふつう。 先日、とあるサービスのデータを、社内の開発環境にリストアしなければならない事がありまして。 MySQL のダンプファイルなんですが、これがまた大きい大きい。 テーブル数は 2000 以上、ダンプファイルの容量は 200GB を超えていました。 社内の環境のスペックがそれほど高くなかったこともあり、普通にリストアするととんでも無い時間がかかりそうな雰囲気。 実際は一部しか必要ないのに全部リストアするのもなあ…という事で、ちょっとやり方を考えました。 結論としては、とにかくデカすぎるファイルから、目当てのテーブルについて書かれている部分のみを抽出して、そこからリストアすることにしました。 1. まずはざっくりと切り出し まずは目当てのテーブルについて書かれている行の割り出しです。 たとえば、

    200GB のダンプファイルを一部のみリストアした話 | バシャログ。
  • [MySQL] CSV を使ってエクスポート・インポート | バシャログ。

    ワールドカップ楽しい〜〜!こんにちわ nakamura です。 今日はダンプ・リストアではなく、CSV ファイルを使って MySQL データのエクスポート・インポートをする方法を紹介します。状況によってはとても有用な方法なので覚えておくとちょっと便利ですよ! どんな時に便利なの? 例えばデータの整形をした上で違うデータベースにリストアしたり、WHERE 句で絞り込んだデータだけをリストアしたり、異なるバージョン間でダンプファイルを使ったリストアがどうにもうまくいかない場合等に CSV でのエクスポート・インポートは有用です。 SQL コマンド例 それでは実際にコマンド例を見てみましょう。 とりあえず一般的なエクスポート SELECT * FROM users ORDER BY id INTO OUTFILE "/tmp/users.csv" -- 出力先のファイル名 FIELDS TERM

    [MySQL] CSV を使ってエクスポート・インポート | バシャログ。
  • 【MySQL】INSERTやUPDATEで便利なSQL関数(フロー制御編) | バシャログ。

    こんにちは、シーブレインinoueです。 馬車道界隈も春休みの親子連れでにぎわっています。 4月ももう3日、新学年スタートももうすぐですね。桜も咲いて、ああ春だわあ。 さて、今回はSQLで使用できるフロー制御関数について紹介します。 というのも、ここ最近はとあるシステムのデータ移行の仕事を担当しておりまして、 "INSERT INTO new(...) SELECT ... FROM old WHERE ...;" といったSQLクエリをひたすら書いております。 何のデータ構造も値も変えない移行なら、ダンプデータを取得して新しいサーバで展開するだけなのですが、システムの性能を向上するために、様々な変換処理が今回は必要で…。 現行DBのいただけない部分を解消するまたとないチャンス、ではありますが、 正しくデータ移行できないと新しいシステムが正常に動かなくなるので非常に緊張する作業です。 とい

    【MySQL】INSERTやUPDATEで便利なSQL関数(フロー制御編) | バシャログ。
  • 1