犬ターネット

MySQL で SSL 接続

2018年04月24日 #mysql

MySQL をアップデートしたのでついでに SSL 接続も有効にしてみる。超簡単。

まず mysql_ssl_rsa_setup を実行して各種鍵を生成する。

cd /var/lib/mysql
mysql_ssl_rsa_setup
chown mysql:mysql *.pem

次に SSL 接続用のユーザを作成。いつもの CREATE USER ... 構文に require SSL をつけるだけ。これで準備完了。

mysql -u root -p

> CREATE USER 'ssldbuser'@"localhost" IDENTIFIED BY "ssldbuserpassword" require SSL;
> GRANT ALL PRIVILEGES ON *.* TO ssldbuser@"localhost";

通常ログインすると以下のように拒否される。

mysql -u ssldbuser -p

ERROR 1045 (28000): Access denied for user 'ssldbuser'@'localhost' (using password: YES)

--ssl-mode=REQUIRE をつければOK。

mysql -u ssldbuser -p --ssl-mode=REQUIRE