MySQL ソケットピア証明書認証プラグイン

全然知らなかったんですが、MySQLに「ソケットピア証明書認証プラグイン」というのがあるのを知りました。

http://dev.mysql.com/doc/refman/5.6/ja/socket-authentication-plugin.html

これを使うとOSのログインユーザーと同じ名前のMySQLユーザーであれば、パスワード無しでMySQLに接続することができます。ただしローカルホストでUNIXソケット経由での接続のみ。

試してみます。

% mysql -uroot
mysql> INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
mysql> CREATE USER tommy@localhost IDENTIFIED WITH auth_socket;
% whoami
tommy
% mysql
mysql> SELECT USER();
+-----------------+
| USER()          |
+-----------------+
| tommy@localhost |
+-----------------+

どうやら 5.5.10 からあるようです。今までずっとMySQLのユーザーとOSのユーザーは無関係だと思ってたのでちょっと驚きました。