昨夜開催された Datastore Masakari
Talks でMySQLにマサカリ投げてきました。
DS masakari talks from yoku0825
会社の用事で前半分くらいは聞けなかったんですが、みんな、特に分散DBなみなさんはつらい話をつらそうに話してたので、つらいつらい言っても笑って話せるMySQLは可愛いなぁと思う次第です。
しゃべってる人たちが「この人ホントこのデータストア大好きなんだなぁ」という感じでいいイベントでした。@tagomoris
さん++
mysqlfabric group add実行時の新規追加サーバーのデータ同期について。
1)マスターDBに必要なバイナリーログがある場合は、新規Slaveがログを読み込んでデータ同期。
2)
マスターDBに必要なバイナリーログが無い場合は、新規Slaveにデータをリストアしてからmysqlfabric group
addコマンドを実行。
■ mysqlfabric group addコマンドについての前回のブログ
mysqlfabricにてSlaveを追加
【通常時Fabric管理ノードが受け取っている処理】
…[さらに読む]
日々の覚書: MySQL 5.7で暗黙のデフォルトが変わりそうなはなし
の時に紹介したのと同じく、Morgan Tockerがまた5.7のデフォルト値のプロポーザルを発表しています。
Proposal to change additional defaults in MySQL 5.7 (February
Edition) http://t.co/kWKwFAZHtB
— morgo (@morgo) 2015, 2月 24
前回がトランザクション周りやInnoDB周り(これは、彼の2つのポストを俺が1つにまとめちゃったからだけど)だったのに対し、今回はそれ以外、スローログ関連とか多いですね。
原文は …
別のエントリー書いてたら、前に誰かに聞かれたなと思ったのでメモ。
スローログが出力されるかどうかの判定は、
1. スローログが有効化されていること
2. log_slow_admin_statements = 0
で除外されるステートメントではないこと
3. (long_query_time以上の時間がかかっている) OR (log_queries_not_using_indexes にマッチする)
クエリーであること
4. クエリーのExaminedが …
ISO8610形式の日付時刻表記があります。イメージこんな感じのフォーマットです。
20150224T1045Z
詳しくはwikipediaなどでチェックしてみてください。
ISO 8601(wikipedia)
MySQLでは直接扱えないので、心得のあるひとはMySQLに突っ込む前にLL(Light Weigh
Language)などで変換すると思うのですが、ある程度限定された書式であれば、比較的簡単にLOAD
DATAで変換しながら、つっこめます。
本エントリは、そのとんちについてのメモです。対象データは以下のようなやつで/tmp/iso8610.txtとして置きます。
20150224T10Z
20150224T1045Z
20150224T104623Z
20150224T104623.283576Z
条件はこんな感じ
(1) すべてUTC
(2) …
mysql fabricにて書き込みのRANGEシャーディングしたテーブルから、
データを読み込みの確認。
分割定義
# Create Sharding Grop1 mysqlfabric group create shard1 mysqlfabric group add shard1 127.0.0.1:63304 mysqlfabric group add shard1 127.0.0.1:63305 mysqlfabric group add shard1 127.0.0.1:63306 mysqlfabric group promote shard1 mysqlfabric group activate shard1 # Create Sharding Group2 mysqlfabric group create shard2 mysqlfabric group add shard2 127.0.0.1:63307 mysqlfabric group add shard2 127.0.0.1:63308 mysqlfabric group add shard2 127.0.0.1:63309 mysqlfabric group promote shard2 mysqlfabric group activate shard2 # Add sharding to employee mysqlfabric sharding add_table 1 test.employees emp_no mysqlfabric sharding add_shard 1 shard1/1,shard2/300 --state=enabled
…
[さらに読む]
MySQLFabricはOpenStack Novaと連携可能なので、
選択肢の一つとしてProviderとしてOpenStackを登録してみた。
詳細はこちらの資料を参照下さい。
https://oracleus.activeevents.com/2014/connect/fileDownload/session/CF4F217F7E733EF6066ED14D5CB7371C/CON5636_Kindahl-MySQLFabricElasticityOOW2014.pdf
Provider登録用のコマンド
[admin@Fabric01 ~]$ mysqlfabric help provider register provider register provider_id username password url [--tenant=NONE] [--provider_type=OPENSTACK] [--default_image=NONE] [--default_flavor=NONE] [--extra=NONE] [--synchronous] Register a provider.
登録したProviderからサーバーをProvisioning
[admin@Fabric01 ~]$ …[さらに読む]
InnoDBの停止にやたら時間がかかる、と相談された時に調べたものメモ。
残念ながら試したのはMySQL 5.1.60の ビルトインInnoDB なので、InnoDB
PluginやMySQL 5.5以降なら違う結果が出るかも知れない。
まずそもそも、innodb_fast_shutdownの振る舞いについて。
MySQL :: MySQL 5.1 Reference Manual :: 14.6.7
InnoDB Startup Options and System Variables
InnoDBは停止/起動時に大まかに3つのことをやっていて、
- InnoDBログのフラッシュ
- InnoDBバッファプールのダーティーページをibdata1にフラッシュ
- ibdata1からのパージとインサートバッファのマージ(普段完全に非同期でやってるやつ) …
やってることはつまり昔から語られているアレです。
MySQLのserver-idの振り方 - blog.nomadscafe.jp
本番環境に突っ込むときはセットアップスクリプトがよしなにやってくれるようにしてあるんですが、DockerだとCMDでセットアップスクリプトを毎回流すの…?
とかなってもんにょりしたのでmysqld_safeにパッチを書きました。結構前ですが。
Docker_image_for_MySQL_Fabric_aware/mysqld_safe.patch
at master ·
yoku0825/Docker_image_for_MySQL_Fabric_aware
…
SYS Schema on MySQLの再確認
SYS Schemaは元々ps_helperという名前だったが、Oracle、MS SQLと同じように
分かり易くする為にSYSにしたとの事。
インストール方法
以下の2つのうちどちらか選択
1) Workbench6.1以上~
2) GitからScriptをダウンロード
root@localhost [sys]>select * from sys.version; +-------------+-------------------------------------------+ | sys_version | mysql_version | +-------------+-------------------------------------------+ | 1.1.0 | 5.6.22-enterprise-commercial-advanced-log | +-------------+-------------------------------------------+ 1 row in set (0.00 sec) root@localhost [sys]>select * from sys.schema_object_overview where db = 'sys'; …[さらに読む]