mita2 database life

主にMySQLに関するメモです

2017-01-01から1年間の記事一覧

ファイル倉庫系DBをSQLiteでなんとかできるか

MySQLのDBAをしていると、MySQLを「SQLでアクセス可能なファイル倉庫」として使う人たちに出会うことがある。 彼らの要件はだいたいこんな感じ・・・ SQLを喋れる「何か」である必要があるが、MySQLである必要はない DBサーバに入れておけば、可用性やバック…

MySQLのデッドロックについて

この記事は MySQL Casual Advent Calendar 2017 の7日目です。 最近、デッドロックを真剣に対応する機会があったのでその時のメモです。 デッドロックとは? デッドロックとは「複数のトランザクションが互いがロックの開放を待ち、結果として、どの処理も先…

MySQL 8.0 で導入されたリソースグループを試す

MySQL 8.0.3 リリース候補版がリリースされました。8.0.3はDMR(Developer Milestone Release) ではなく、 RC(リリース候補) でした。正式リリースまで一歩前進。正式リリースが楽しみですね。 8.0.3 ではリソースグループという機能が導入されました。 The p…

OSC 2017 Okinawa で MySQLの冗長構成について発表してきた

大阪で話した内容とほぼ一緒なのですが、、、MySQL Shell を試してみました。 OSC 2017 Okinawa MySQL の高可用性構成比較 と新機能 Group Replication from Satoshi Mitani OSC Hokkaido も参加したので、これで南は沖縄から北は北海道まで行ったと言える・…

MyNA 会 201703 で MySQL のDB利用者向けベストプラクティスの話してきた

MySQL のプロダクトマネジャーである Matt Lord さんをお招きして 日本MySQLユーザ会会 を開催しました。 当日はベストプラクティス・・・というかDBAからのお願いを発表してきました。DB利用者に意識してほしいことを中心に取り上げてみました。 My MySQL B…

MySQL Causal Talk vol.10 で Group Replication について話した

MySQL Causal Talk vol.10 で Group Replication について話してきました。 最近ずっとGroup Replication しか触ってない・・・・ MySQL Group Replication - MySQL Casual Talk vol.10 from Satoshi Mitani また、 myfinder さんから、MySQL Casual slack …

OSC 2017 Osaka で MySQLの冗長構成について発表してきた

OSC Osaka で MySQL の高可用性構成について発表してきました。 会場でフォローして頂いた。sakai さん、ありがとうございました! OSC 2017 Osaka MySQL 落ちないDBサーバの作り方 from Satoshi Mitani

Group Replication を試す(4) リカバリ

Group Replication で特定のサーバのデータが吹き飛んでしまった場合の復旧手順を確認。 動いているサーバからdumpを取って、復旧すれば良いのだが、、、--single-transaction で mysqldump しようとすると、GRではSavepoint がサポートされていないため、 …

Group Replication を試す(3) 障害時の挙動

group_replication_recovery チャネルは障害後のサーバ間の差分同期のみに使われる。 Group Replication のステータスが ONLINE 状態のときは、Master_HostがNULL、Slave_{IO,SQL}_Running は NO。 mysql> select * from performance_schema.replication_gro…

Group Replication を試す(2) ロックの挙動

テスト用のテーブル mysql> CREATE TABLE grplt.tbl (pk SERIAL, col1 int, who_update varchar(10));Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO grplt.tbl (col1, who_update) VALUES (1, 'node1') , (2, 'node1'), (3, 'node1');Query OK, …