既存のクラスターのどれか一つに入る MySQL db02.luis.local:33060+ ssl JS > \c [email protected] Creating a session to ‘root…
InnoDB Cluster が Split-Brain で死んだ時
MySQL db03:33060+ ssl JS > c.status() { "clusterName": "main", "defaultReplicaSet&…
MySQL EXPLAIN の結果は良い感じなのに、何故か遅いクエリの原因を調べる
1回目は7秒かかるクエリが、2回目は速い。 実行計画を見ても、Slow Query を見てもインデックスは使われてそうなイキフンを感じる。 前置き クエリ テーブル EXPLAIN Slow Query 調べる Perf…
InnoDB Cluster のアップグレードをやる
8.0.19 -> 8.0.20 1. MySQL Shell を最新にする 2. MySQL Router を最新にする 3. メタデータを最新にする MySQL db01:33060+ ssl JS > dba…
MySQL innodb_buffer_pool_instances を調整したら幸せになれました
1 分間に約 23万クエリ流れる DB が全部で 4台な環境がある。 innodb_buffer_pool_size はだいたい 70 GB セマフォ innodb_buffer_pool_instances を調整する…
コンテナで動かしてる MySQL で innodb_dedicated_server = 1 にしたらどんどん死んでいった話
ある日 InnoDB Cluster をコンテナ上で動かしてたがメモリを期待していた以上に消費していたので調べていた。 その時は innodb_dedicated_server を 1 にしてた。 innodb_dedi…
GTID で errant transaction に悩んだら
TL;DR flush slow logs のタイミングでバイナリログに書き込まれる それによって GTID がズレる = errant transaction このスクリプトを mackerel-agent で定期実行…
Orchestrator を Mackerel と組み合わせて幸せを掴むスクリプト
なにしてるの errant transaction の検知 errant transaction の修正 can-replicate-from-gtid を叩く Mackerel で使う なにしてるの errant tr…
CentOS 8 で mysql-community-server 8.0.19 を入れる
dnf め… mysql repo を入れる # dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rp…
InnoDB Cluster のフェイルオーバー時間を計測してみる
InnoDB Cluster クエリが少ないとき クエリが多いとき 最低5秒以上で MySQL Router は新プライマリへ切り替わる MySQL Router のメタデータが更新されるタイミング InnoDB Clu…