質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

2回答

1330閲覧

MySQLで差分データをコピーできるツールはありますか

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2018/11/11 06:21

MySQLで構築したデータベースサーバの移設を行うため、データをコピーできるツールを探しております。本来ならレプリケーションで対応すべきところなのですが、諸般の事情でレプリケーションを使用することができません。サービスの停止時間を最小にするために次のような手順を考えました。

1.前日のデータベースダンプを新データベースサーバにリストアする
2.サービスをメンテナンスモードに移行し、データ更新を停止する
3.ダンプ移行の差分データを旧データベースサーバから新データベースサーバにコピーする
4.アプリケーションのデータベース参照先を新データベースサーバに切り替えて、メンテナスモードを解除する。

このうち、3の手順で使用する差分データコピーを行えるツールを探しています。これまでに試してみたのは次の2つです。

一つは、NaviCatです。データの同期という機能があったので試していたのですが、エラーが頻発し実用になっていません。エラーになったクエリを出力して確認したところ、データを詰め込んだ巨大なSQLを組み立てていて、MySQLが処理しきれなかったようです(巨大とはいえ、max_allowed_packetよりは小さいです)。試しにエラーになったSQLをテキストエディタで小分けにして新データベースサーバに投入したところ正常に処理できたのですが、これではメンテナンス時間がいくらあっても足りません。

もう一つは、AWS Database Migration Serviceです。しかしこちらは試してみた限りでは常にフルデータをコピーするようで、差分だけを短時間でコピーすることはできませんでした。

これらの他に、MySQLで差分データをコピーできるツールはなにかありませんでしょうか。有償無償は問いません。もしくは、

・NaviCatでクエリを小分けにして出力する設定
・AWS Database Migration Serviceで差分データのみをコピーする方法

でも構いません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

バイナリログを書き出して、移行先にロールフォワードかな

投稿2018/11/11 08:41

hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/11 10:25

ありがとうございます。 情報が書き漏れてしまいましたが、現状バイナリログを出力しておらず、また旧サーバに対して出力するように設定変更することも許されておりません。
guest

0

ベストアンサー

バイナリログを吐かないならデータ毎に更新日時を記録して
前回の出力日時との差をみるくらいでしょうね

投稿2018/11/12 03:36

yambejp

総合スコア114585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/11/12 13:34

対象がrailsアプリなので全レコードにcreated_at/updated_atが入ってます。仰り通り、これらのカラムを見てデータを手動でコピーする方向で検討してみます。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問