TL;DR
-
たとえシングルプライマリモードだろうと、GTIDは「そのマシンが使うレンジ」が先に割り当てられて、その中からGTIDを払い出していく
- レンジの大きさは
group_replication_gtid_assignment_block_sizeデフォルト100万で決められる
- レンジの大きさは
- 元プライマリが使っていたGTIDレンジは、割り当てられたレンジが使い切られない限り、再びプライマリに戻った時に再利用する。
TL;DR
group_replication_gtid_assignment_block_size デフォルト100万で決められる
バイナリログからデータを吸い出したいケース
MySQL の障害復旧というと、まずバックアップからの復元(PITR)が思い付きます。 しかし実際の運用では、データベース全体を過去の時点へ戻したいとは限りません。
例えば、アプリケーションのバグなどで、レコードごとに異なるタイミングで誤った更新が行われることがあります。このような場合、レコードごとに異なる時点のデータが必要になります。
このような場合に役立つのがバイナリログ( binlog )です。 バイナリログ には INSERT、UPDATE、DELETE といった変更履歴が記録されているため、
を後から追跡できます。
バイナリログの形式
binlog …
[さらに読む]2026年6月6日に開催された OSC2026 Sendai(オープンソースカンファレンス2026仙台)に参加してきました。event.ospn.jp ospn.connpass.com 久々の仙台開催 仙台での開催が14年ぶり。幹事団をひっぱっていた方が並ならぬ熱意を持って開催の調整や広報など、イベントが盛り上がるためのお膳立てをしてくれました。特に「学生さんにいっぱい来てほしい」は、他の地域のOSCと比べても(単位を与える等のあめ玉なしとしては)かなり大成功なほうだったんじゃないでしょうか。若い人がうろうろしていて、セミナー聞いてくれて、あちこちのブースで興味深そうに話を聞いて回っているの…
注:本記事のアイデアは採用されませんでした。新しいリリース番号ルール(カレンダーモデル)はOracleの記事を参照ください。 blogs.oracle.com いまMySQLが変わっている。 変わっていると言っても、ストレンジじゃなくて、チェンジです。 Enterprise版だけに大切に囲っていた機能を、突如、Community版にも開放すると宣言し、実際に公開したり、この数年間ずっとヒートエブ!ヒートエブ!とクラウドにうつつを抜かして単体MySQLを控えめに言っても蔑ろにしていたと言わざるを得ない状況だったのが突如 「回帰」する素振りを見せたり、急に、コミュニティ大事です!色々聞かせてくださ…
メタデータロックとは
メタデータロックとはトランザクションの実行中に、そのトランザクションで利用したスキーマやテーブル定義などのメタデータが変更されないように取得するロックです。
DDLの実行時には、テーブル定義などのメタ情報に対するロックである、排他(X)レベルのメタデータロック(MDL)を取得します。
また、ALTER TABLE ADD COLUMN
...などの一部のDDLの実行開始時にXロックを取り、その後他のDMLを並列で実行できるようにロックレベルをダウングレードして、DDL完了時に再度Xロックを取得する仕組みで2回排他ロックを取得したりします。
…
[さらに読む]自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_AsSvg(geom [, rel [, prec]]) ジオメトリをSVGパースデータに変換する。 動作紹介 正直、正しく動作しているかどうかよくわからないので、ネット上に存在した他システムの実行例を参考に試してみた。 (PolarDBドキュメントより:https://www.alibabacloud.com/he…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_Segmentize(geom, max_length) 動作紹介 一辺が10の正方形を、ひとつの線が「6」を越えないように分割 → なるべく等分になるように頑張ってくれるので各辺5の長さのところに中間点を打ったPOLYGONになる SET @g=ST_GeomFromText('POLYGON((0 0, 10 0…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_SnapToGrid(geom, size [, size_y]) 座標を、与えられたサイズのグリッドにスナップ(吸着)させます。複雑な形をシンプルにするのに便利。 動作紹介 linestringを 0.5単位に吸着させる(=まるめる) SET @g=ST_GeomFromText('LINESTRING(1.2 1…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_Affine(geom, a, b, d, e, xoff, yoff) 与えられたジオメトリを、与えられた条件に従ってアフィン変換します。 アフィン変換自体を私がよく分かっていなかったので、整理しながら動作検証。 アフィン変換とは 各点の座標を与えられた4つのパラメタと2つのオフセットに従って、各点を移動させるもの…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_Scale(geom, sx, sy [,CenterPoint]) / STX_Scale(geom, sx, sy [,CenterX, CenterY]) geomをタテヨコに指定した割合(sx, sy)だけ拡大縮小する。中心点を指定することができる。省略時の原点は (0,0)なので、多くの場合は拡大縮小を行う…