34 件中 1 - 10 件を表示
次の 10 件 »
Displaying posts with tag: 3rd_party (reset)
古いバージョンのxtrabackupをビルドしようとしたら -DDOWNLOAD_BOOST=1 だとダウンロードできなかった

TL;DR

  • boostを同梱していないMySQLやxtrabackupでboostのダウンロードっぽいところでcmakeが転けていたら cmake/boost.cmake を編集するとうまくいくことがある
    • boostorg.jfrog.io から archives.boost.io に変わってるっぽい

yoku0825/xtrabackup-monkey-patch を使って XtraBackup 8.0.35-31 をビルドしようと思ったら、boostをダウンロードしてるっぽいところで転けた。

$ git clone git@github.com:yoku0825/xtrabackup-monkey-patch
$ cd xtrabackup-monkey-patch
$ git checkout checkout 8.0.35-31

$ cd src
$ cmake -DCMAKE_INSTALL_PREFIX=~/xb-8.0.35-1 -DWITH_BOOST=./boost -DDOWNLOAD_BOOST=1 -DFORCE_INSOURCE_BUILD=1
..
-- Downloading boost_1_77_0.tar.bz2 to /home/yoku0825/git/xtrabackup-monkey-patch/src/boost
-- …
[さらに読む]
gh-ostの-postpone-cut-over-flag-fileみたいなことをpt-oscでもやりたい

この記事は MySQL Advent Calendar 2024 の24日目の記事です。

昨日は updraftさん今日は、MySQL 8.0.35で非推奨になった「SHOW PROCESSLIST」の代わりのパフォーマンススキーマを見てみるの日。 - 今日はなにの日。 でした。

最近、ALTER TABLEのメタデータロックの競合がちょっと話題に上がっていました(ので便乗して今年書いたスライドを載せておきます)

それでちょっと思い出したんですが、 gh-ostpt-online-schema-change (以下、pt-osc) …

[さらに読む]
pt-online-schema-changeがColumn 'xx' cannot be nullで止まる

TL;DR

  • NULLが入っているカラムを後から NOT NULL にしようとすると出る
  • 何故出るかというと、 INSERT IGNORE INTOがNOT NULL DEFAULTを裏切る から敢えて SHOW WARNINGS を拾ってエラーにしている
    • 裏切られるのを承知の上で強行するなら pt-online-schema-change --null-to-not-null でいける
  • UPDATE t1 SET val = ? WHERE val IS NULL でNULLを排除してからpt-online-schema-changeすればいいんじゃないかな

日々の覚書: INSERT IGNORE INTOがNOT NULL DEFAULTを裏切る の続き。

pt-oscは INSERT …

[さらに読む]
Percona Toolkitのテスト環境を整える

TL;DR

  • Setting up the development environment の通りに ~やるつもりがない人または~ やっても上手くいかなかった人向け
    • ほら、テストしたいバージョンがいろいろある人とかさ

Setting up the development environment は一通り目を通しておいた方が良い気がします。

Percona Toolkitのテストは MySQL::Sandbox っぽいスクリプトを内包していて、バイナリをポンと置いて環境変数をセットするだけで、3つくらいの …

[さらに読む]
pt-table-checksumでよく使うオプション

メリークリスマイエスキューエル! (と、1日)

この記事は GMOペパボエンジニア Advent Calendar 2020 の26日目の記事のつもりです。
ちなみに私の中の人は GMOペパボではない会社 に勤めています。

最近 pt-table-checksum にお世話になる機会が多くなって、使い方をまとめておこうと思ったメモです。

公式ドキュメントはこちら。

pt-table-checksum 自体は簡単に説明した昔の記事が出てきた。

[さらに読む]
pt-query-digestでtcpdumpから集約せずに全てのクエリーを取り出す

TL;DR

書き出しが全てなのでそれは置いておいてハマったこと。

[さらに読む]
第一印象 of MySQL Ripple

TL;DR

  • MySQL Ripple を試してそっと閉じたメモ。
  • 多分 こういう状態で使うんだと思う
    • マスターの部分はよしなに冗長化されていると思いねえ
    • (おそらく準同期レプリケーションで)マスターに直接スレーブをぶら下げると死んじゃうようなケース
    • あと、このMySQL Ripple自体もたぶん多段構成するんだろうな、とデフォルトのパラメーター(主に -ripple-master-port )を見て思う

ビルド

  • CentOS …
[さらに読む]
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
[さらに読む]
34 件中 1 - 10 件を表示
次の 10 件 »