デフォルトだと複数行INSERTによって高速にINSERT可能なのだが、場合によっては一行一行INSERTさせたいときがある。 mysqldump -c --skip-extended-insert > dump.sql --extended-insert 複数のVALUESリストを含む、複数行INSERT構文を使用してください。これにより、ダンプファイルサイズを小さくし、ファイルが再ロードされる際の挿入スピードがあがります。 skipを付けると反転する。これで一行一行INSERTしてくれるが、カラム名のないINSERT文が出来上がる。カラム名まで出して欲しい場合には、下記のオプションを利用する。 --complete-insert, -c カラム名を含んだ、完全なINSERTステートメントを使用します。 参考: http://ymotoba.blogspot.com/2008/07/my
2014年01月07日13:52 AWS Ruby RDSのデータをmysqldumpしてS3に保存する 弊社ではデータを AWS の RDS を使って管理しています。バックアップは自動で取ってくれるんですが、RDS では残せるバックアップのスナップショット数が決まっているのでもう少し過去のバックアップも取りたい。気軽にバックアップを S3 に保存することは出来ないものか。 追記:14:12 RDS のスナップショットを手動で取ったりすれば良いんですけど、アカウントが悪用されたりして全部消えちゃったら怖いなぁと。そういう背景もあって念のため S3 上にも置いておきたいなぁと思った次第です(*゚∀゚) 追記:14:17 バックアップのスナップショット数増やすことも可能みたいですね。 @sasata299 あとAmazonに申請すればRDSのスナップショットの上限値を増やせるらしいので参考にど
でかいテーブルをdumpしてimportしなおすときに、alter enable keysで "repair with keycache" に悩まされてたんですが、MySQL Forums見てたらそのものズバリなのを見つけたのでメモ。 http://forums.mysql.com/read.php?35,155467,166902 ご存知の方には当たりまえな感じですが、自分はそもそも repair by sorting と repair with keycache の2通りのメッセージが出し分けられていること自体に気づいてませんでした。 mysqldump mysqldumpをつかってデータベースを(そのままimportに使える)SQL文に吐き出します。 % mysqldump -uuser -ppass -hhost hoge > hoge.sql このときhoge.sqlの中身はこん
目黒川の桜きれいですね〜(*^^*)…なーんてガラじゃないことを言いたくなるくらい良い咲きっぷりでしたよ、エエ。で、来週末、花見に行くんだけど、まだ散らないでほしいっすねー。 えーっと、久しぶりにMySQLの記事。binlogを使ったリストア手法について。ネットを漁るとMySQLの運用に関する記事は多くヒットするんだけど、障害からのデータリカバリ、特にロールフォワードを扱った記事が思ったより多くない。おれは運が良いのか悪いのかMySQLのデータリカバリをしなければならないような局面に何度か直面しているので、手順について書いてみようかな、と。ここではMySQL〜5.5を対象にしている。直近での最新のメジャーバージョンはMySQL5.6なんだけど、おれはまだ5.6について大して知らない。5.6ならもっとイケてるやりかたがあるかもしれない。あったらいいな。 0. 環境 次のような環境を前提として
初期設定 RDSのコンソール上で下記を設定してください slow_query_log=1 log_output=FILE slow_query_log_file=/rdsdbdata/log/slowquery/mysql-slowquery.log (デフォルト値) log_outputはデフォルトでTABLEとなっています。 TABLEでも mysql.slow_query テーブルにログが溜まっていくのですが、ほったらかしにしてログが膨れ上がることが多々あるでしょう。 殆どの場合、直近のログさえあれば十分なのに、「mysql.slow_queryが膨れ上がってSELECTの結果が終わらない!!」 ということはしばしばあるかと思います。私もなりました。 FILEにしていれば、1時間毎のログが1日分残ります。これなら、ファイルが大きすぎて分析できない!ということは無いでしょう。 分析方法
mysqldumpのオンラインバックアップ mysqldumpのオプション mysqldump時にロックをかけないオプションは「--single-transaction」です。 --single-transaction このオプションはサーバからデータをダンプする前にBEGIN SQLステートメントを発行します。InnoDBといったトランザクションテーブルに対してのみ便利です。なぜなら、アプリケーションをブロックせずに、BEGINが発行された当時のデータベースの状態をダンプするからです。 このオプションを使用しているときは、一定の状態でダンプされるのはInnoDBテーブルのみだということを留意してください。例えば、このオプションを使用中にダンプされたMyISAMやMEMORYテーブルは状態が変化する可能性があります。 mysqldump — データベースバックアッププログラム リファレンス
MySQL標準のダンプツールmysqldumpについて、基礎的な使い方からよく使われるオプション、特徴までを含む25個の問答集。 1) mysqldumpはテキストバックアップツール?それともバイナリバックアップツール? テキストバックアップツールだ。バックアップファイルを開けば、データベースとその中のオブジェクトを作り直すための全文が見られる。テーブルにデータを詰め込むためのinsert文ももちろん含まれている。 2) mysqldumpのコマンドラインオプションは? $ mysqldump -u [uname] -p[pass] –databases [dbname] [dbname2] > [backupfile.sql] 3) 全データベースのバックアップはどうしたらいい? $ mysqldump -u root -p –all-databases > backupfile.sql
ナップザックは、システム開発/ソフトウェア開発の設計・開発事務所です。 株式会社ナップザック © 2013-2018 NAPZAK Inc.
ベイスたん かわいいよ、ベイスたん・・・!ということで、みなさんこんにちは nakamura です。 またまた MySQL のちょいネタですが、今回は mysqldump コマンドのオプションをいくつか整理してみようと思います。mysqldump なんて数え切れないほど使っているはずなのに、まだまだ知らないオプションがあったりするんですね~。知ってるとちょいちょい使える場面あると思いますよ! --opt --opt は mysqldump コマンドのデフォルトオプションであり、--add-drop-table, --add-locks, --create-options, --disable-keys, --extended-insert, --lock-tables, --quick, --set-charset をひとつのオプションにまとめたものです。それぞれオプションの解説は以下の通
久々にMySQL関係でハマりました。原因は mysqldump です。実は数ヶ月前にも同じ現象で悩み、その時は深い調査しないまま対処療法をしてしまいました。今回、やはり技術者たるもの、しっかりと根本原因を追及しなければならないなと反省した次第です。 MySQL 5.0 以降の mysqldump では --opt オプションがデフォルトで有効となっています。これは以下の8つのオプションを一括して指定するオプションです。 --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset この中で --extended-insert オプションがあることにより、レコードをコンマ区切りにして、できるかぎり一括してひとつのINSERT文
ibdata1が肥大化してDISKを圧迫していたので縮小を試みた。 手順としては... mysqldumpコマンドでdumpを取得 Databaseをdrop mysql停止 ibdata1及びib_logfile* の削除 my.cnfを修正 mysql起動 dumpファイルのインポート 実際の作業手順 まずはmysqldumpコマンドでフルダンプを取得します。 # mysqldump -u root --all-databases > /tmp/all-dump.sql フルダンプが完了したらDBをドロップします。 数が多いので簡単なスクリプトを作り実行しました。 #!/bin/bash for DB_NAME in $(mysql -uroot -B -N -e "show databases;" | egrep -v 'test|mysql|information_schema')
ちょっと遅めの夏休みをもらって八丈島に行ってきました nakamura です!いい所すぎて危うくそのまま移住するところでした。 データベースの移行をする際みなさんどんな流れで作業しているでしょうか。コマンドラインでダンプを取って、サイズが大きかったら gzip で圧縮して、WinSCP でそれをローカルに落としてきて、それをまた別のサーバにアップロードして・・・・なんて事してたりしませんか? シェルのパイプやリダイレクトをうまく使ってあげれば、この辺りはコマンド一発でいけちゃったりするのです。今日はそんなコマンド例のご紹介です。 実際によく使うコマンドの例を箇条書きで。 とりあえずダンプの結果をそのまま圧縮する。 mysqldump -udb_user db_name -pdb_pass | gzip > db_name.dump.sql.gz 特定の文字列を置換した上で圧縮する。 MT
2007年5月31日10:53 Tom-Adelstein、Bill-Lubanovic(2007年5月29日(火)) ファイルやディレクトリのバックアップは比較的簡単だが、データベースのバックアップとなると、いくつか特別な工夫を施す必要がある。ここではMySQLを取り上げているが、同じ原理はPostgreSQLやその他のリレーショナルデータベースにもあてはまる。 本稿は、最近O’Reillyから出版された書籍『 Linux System Administration 』の抜粋。 MySQLサーバを休みなく稼働させ続ける必要がないなら、以下に示すような圧縮なしのオフラインバックアップ手法が手っとり早い。 MySQLサーバを停止させる。 # /etc/init.d/mysqld stop MySQLのデータファイルおよびディレクトリをコピーする。例えば、MySQLのデータディレクトリ/var
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く