かみぽわーる

kamipo's blog

HomebrewのMySQL 5.7.9でSSL接続するとコケるので気をつけよう

このエントリはMySQL Casual Advent Calendar 2015の3日目です。

で、これです。

github.com

ざっと調べた感じだと、openssl 1.0.1eあたりからDiffie-Hellman (DH) key length 1024bit以上を要求するようになったかなんかで、MySQLが512bitとかいうかなり短いkey lengthを使ってるせいでopensslに怒られる感じらしい。

MySQL 5.7からデフォルトsslオプションが有効なのでRDSとかみたいなSSL接続受け付けてるホストに5.7のクライアントでそらで接続しようとするとコケるっぽい。

$ mysql --help
...
  --ssl               If set to ON, this option enforces that SSL is
                      established before client attempts to authenticate to the
                      server. To disable client SSL capabilities use --ssl=OFF.
                      (Defaults to on; use --skip-ssl to disable.)
...

https://bugs.mysql.com/bug.php?id=77275 を見ると mysql/mysql-server/commit/866b988 で直した的なことが書いてあるけど、Homebrewで入るバイナリだとダメっぽいんで、とりあえずDHを使わないcipher suite(DEFAULTでも大丈夫でした)を指定して回避できるようです。

$ mysql --ssl-cipher='DEFUALT' -u kamipo -h mysql-casual.rds.amazonaws.com

以上、入社エントリ以来ひさしぶりにブログ書いた😊