Nginx+PHP(fpm)+MySQLのDockerコンテナイメージを組み合わせてwordpressを動かすdocker-composeを作った

Dockerの勉強も兼ねて、WordpressをDockerを使って動かしてみようと思考していて、Wordpressのコンテナイメージを用いれば手っ取り早いけど、SSL化しようとするとNginxなどでリバースプロキシを使わないといけなそうで、その場合はX-Forwarded-Protoヘッダを用いて…などとなると結構面倒そうだった。

ので、NginxとPHP(PHP-FPM)とMySQLのDockerイメージに加えて、Let’s Encryptの証明書を追加できるようにしたdocker-composeを作ってみた。

続きを読む »

MySQLのInnoDBテーブルではschema_infomation.tablesのtable_rowsが正確ではないことを今さら知った

いろいろネット上で調べていると既知のもので何を今さら…という感じではあるが、MySQLで全テーブルのレコード数を一括で取得するのに手軽にやれないかと思ってschema_infomation.tablesのtable_rowsを参照したら、マスター/スレーブ間で件数が数万件単位で違って焦った。テーブルの行数をcountで取得したら一致した。
何故じゃ…と思ったが結論から言うとそういう仕様だった。ちなみにやってたのはMySQL 5.5。

5.7でも同様になる模様。

続きを読む »

MIC(Group Replication)でまだ実行されていないトランザクションがマスターのバイナリログからロストしている場合のエラー

Single PrimaryのMySQL InnoDB Cluster(Group Replication)が組まれているサーバのうち、スレーブとなる1台を切り離した後、切り離されて以降のトランザクションが記録されたバイナリログがなくなっていた(参照できなかった)場合にレプリケーションしようとするとどうなるか試した。

続きを読む »

MySQLのバグレポート(bugs.mysql.com)にコメントしてみた

この記事は公開されてから半年以上経過しています(公開日2017年12月9日)。

MySQL InnoDB Clusterの検証をしていて発生したエラーの事象の1つについてこちらに書きましたが、その事象がこのバグレポに記載されている内容と類似の事象のように思いました。
2017/9/5 以降コメントが途絶えていたので、初めてのOSSへの貢献として自分で確認できた内容をコメントしてみました。

続きを読む »

MySQL InnoDB Clusterのクラスタ名が変わってしまったのでメタデータを直接更新して復活させた

この記事は公開されてから半年以上経過しています(公開日2017年11月11日)。

肝心の「何故こうなったのか」の原因は判明していないけど、MICの検証をしていて、クラスタを止めたり疑似障害を起こしたりしていりしていた時の事。
MySQL Shellを使ってメタデータからクラスタをを取得しようとしたときに以下のようなエラーが出るようになってしまいました。

続きを読む »