27 件中 1 - 10 件を表示
次の 10 件 »
Displaying posts with tag: 3rd_party (reset)
gh-ostの最後のステップの `RENAME TABLE ..` を任意のタイミングまで遅延させる

TL;DR

  • --postpone-cut-over-flag-file でテキトーなファイルを指定する
  • RENAME TABLE .. (gh-ostの cut-over フェーズ)をしても良いタイミングになったら、「指定したファイルを消す」または 「 Interactive commandsunpostpone コマンドを放り込む」

gh-ost

[さらに読む]
gh-ostのinteractive-commandを使う

gh-ost には interactive-command なるものが用意されている。 これは gh-ost起動しちゃった後 、後からオプションを変更したりする機能を提供しているっぽい。 デフォルトではソケットファイルのみオープンする。デフォルトのパスは /tmp/gh-ost.<スキーマ名>.<テーブル名>.sock
パスを変えたかったりTCP経由も受け付けてほしい時は gh-ost --serve-socket-file=/tmp/hogegh-ost --serve-tcp-port=9999 とかで設定できる。

$ gh-ost --database=mysqlslap --table=t1 --alter="ADD KEY (intcol1)" --host=127.0.0.1 --port=21801 --user=msandbox …
[さらに読む]
gh-ostでスレーブの遅延を見ながら処理速度を調整する

TL;DR

  • マスターに接続する( --allow-on-master )場合、 --throttle-control-replicas myhost1.com:3306,myhost2.com:3306 で遅延監視対象を指定する
    • スレーブからbinlogを吸い上げてマスターに当て込む場合は、接続先のスレーブで遅延監視をする
  • 閾値は gh-ost --max-lag-millis 1000 で指定する (デフォルト1500ミリ秒)
  • SHOW SLAVE STATUS は叩かず、 *_ghc テーブルに書き込んだハートビートの行と現在時刻の差分で計算する
    • --test-on-replica--migrate-on-replica の時だけ SHOW SLAVE STATUS するっぽい
  • SHOW SLAVE STATUS
[さらに読む]
innotopにmy.cnfや.mylogin.cnfを食わせる方法

TL;DR

  • 何も設定しなくても食うけど、 [client] セクションしか読んでくれないので「読んでない」と思われることが多いっぽい
  • それ以外のセクションを食わせるためには ~/.innotop/innotop.conf に記述が必要だけど割と簡単だよ

innotop はPerl5製で DBD::mysql を使っているので、デフォルトファイルの読み込みは mysql_read_default_filemysql_read_default_group あたりに影響を受ける。 …と思って探してみれば割とさっくり見つかって、

[さらに読む]
ストレージエンジンをインストールしている環境でのリストアではまりがちなこと

TL;DR

  • plugin_dir に必要な .so ファイルを置いておくのは大前提
  • mysqldump から戻す時は、戻す前に自分で INSTALL PLUGIN
  • 物理バックアップから戻すときは基本的にそのまま戻して起動すればおk

周囲1mくらいで2回聞かれたのでメモしておく。
対象は ストレージエンジンプラグイン (デーモンプラグインである innodb_memcached とか mysqlx は対象外)かつサーバーデフォルトで有効になって いない もの( InnoDB, MyISAM などは対象外)、つまりだいたい Mroonga, TokuDB, RocksDB あたりをターゲットとして見ている。 …

[さらに読む]
gh-ostを中断させたらどうなるのかの試み

gh-ost 3日目。 gh-ostを中断させたらどうなるのか確認してみる。 pt-osc はデフォルトでは中断する時に

  • テンポラリーテーブル(gh-ost的には「ゴーストテーブル」) が残存する
  • テンポラリーテーブルに対するトリガーも残存する

な訳だがgh-ostはいかがなものか。 取り敢えず Ctrl + Cで終了させてみる

$ gh-ost --database=mysqlslap --table=t1 --alter="ADD KEY (intcol1)" --host=127.0.0.1 --port=21800 --user=msandbox --password=msandbox --allow-on-master --execute
..
^C
  • *_ghc*_gho なテーブルが残った
master [localhost] {msandbox} (mysqlslap) …
[さらに読む]
gho-stでスレーブからバイナリーログを食いながらインデックスを足してみる

TL;DR

  • マスターから食ってもスレーブから食っても動作が変わっているような気はしない
  • 能動的なスレーブの遅延監視を入れるなら --throttle-control-replicas を自分で入れないといけない

昨日 の続き。
昨日の時点では pt-online-schema-change っぽくマスターに接続してバイナリーログを吸いながらマスターに食わせたけれど、今日はデフォルトの「スレーブに接続してバイナリーログを吸ってマスターに食わせる」をやってみる。 早速。

$ master/my sqlslap --auto-generate-sql --auto-generate-sql-execute-number=100000 --auto-generate-sql-guid-primary

$ gh-ost --database=mysqlslap --table=t1 --alter="ADD KEY (intcol1)" --host=127.0.0.1 --port=21801 …
[さらに読む]
第一印象 of gh-ost

TL;DR

インストール

  • releases にrpmパッケージもあるので yum でサクっと入れた。
    • コマンド1個だけが入っているとてもシンプルなパッケージ…
$ sudo yum install -y …
[さらに読む]
Anemometer(結果として anemoeater も)がpt-query-digest 3.0.11とそれ以降で変な集計結果になる話

TL;DR

  • pt-query-digest 3.0.11で、クエリーダイジェストのチェックサムが変わった
    • MD5の下16桁(64ビット、BIGINT UNSIGNED)から、MD5を全部(32桁、128ビット、CHAR(32))使い切るように
  • この変更に 本家Anemometer が追従していないので、Anemometerと anemoeater はチェックサムによる集計結果がおかしくなる
  • 今のところのワークアラウンドはpt-query-digestのバージョンを3.0.10とそれ以前に下げる

最近なんか変だな、とは思ってたんですよ。
この一番左端の checksum の値が、今まではそこそこ16進っぽい文字列だったのに桁数がなんかすごく変で。 …

[さらに読む]
マイエスキューエルにはPerl Mongerが必要かもしれないはなし

この記事は

[さらに読む]
27 件中 1 - 10 件を表示
次の 10 件 »