たくさんのMySQLサーバを運用している際に、一意なserver-idを生成するルールを作っておくと急な負荷上昇でslaveサーバを追加しないと行けなくなった時に、masterや他のslaveのserver-idを調べてユニークなidを考える手間を減らす事ができます。

自分はプライベートIPアドレスの第三オクテットと、第四オクテットを使い

server-id = 第三オクテット*256 + 第四オクテット

としています。192.168.67.135 なら

server-id = 67*256 + 135 = 17287

です。/16 以下のネットワークならIDが被る心配ありません。セットアップツールなどで自動でmy.cnfに入れてしまうこともできると思います。

もし /16 ネットワークよりも大きなネットワークなら第一、第二オクテットも計算に含めればいいんじゃないでしょうか。server-idは、1から2^32-1の整数なのでIPv4なら被る心配ありません。

ちなみに、Tokyo Tyrant、Kyoto Tycoonのserver IDは2^16-1までなので上の第三、第四オクテットを使う方法が使えます。というかTokyo Tyrantのserver idが16bitに制限された時に平林さんに教えてもらった方法です^^

このブログ記事について

このページは、Masahiro Naganoが2011年2月10日 16:24に書いたブログ記事です。

ひとつ前のブログ記事は「本当は難しいCPANモジュールのバージョン特定」です。

次のブログ記事は「HTTPコンテンツ圧縮とPlack」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja