MySQL Shell 8.0 のパスワード保存について

この記事は最終更新から6年以上経過しています。内容が古くなっている可能性があります。

MySQL Shell 8.0.12 で追加された機能として、入力したパスワードを保存してくれるようになりました。
本記事では実際にどのように動作するかを検証してみました。

目次

MySQL Shell のセットアップ

CentOS (Linux) の場合

Windows の場合

MySQL :: Download MySQL Installer からインストーラーをダウンロードして実行します

Mac の場合

MySQL :: Download MySQL Shell からインストーラーをダウンロードして実行

もしくは Homebrew がインストールされているなら下記のコマンドでインストールできます。

パスワード保存機能を使ってみる

mysql shell で初回のログインするとパスワードを保存するか聞かれます。

ここで「Y」を選択するとパスワードが保存され、次回からはパスワード入力無しでログインすることができます。

パスワード情報はどこに保存されるのか?

MacOS の場合、デフォルトではキーチェーンに保存されます。

Windowsの場合は認証マネージャーに保存されます。

Linuxの場合はlogin-pathとして保存されます。

MySQL :: MySQL Shell 8.0 :: 2.2 Pluggable Password Store

login-pathを使って認証する

パスワードを保存する場所はOSが提供する認証マネージャ以外にもMySQLで以前からあったlogin-pathを使用することもできます。指定方法は下記の2つです

  • MYSQLSH_CREDENTIAL_STORE_HELPER 変数で指定する
  • --credential-store-helper オプションを指定して起動する

まずは mysql_config_editor を使って login-path を作ります。

mysql コマンドで login-path を使ってログインする場合、login-path で設定した名前でログインします。

mysql-shell の場合は接続情報を指定してログインすることになります。

パスワード入力無しでログインすることができました。

MySQL Shell で認証情報を操作する

MySQL Shell 8.0.12 からはシェル内で認証情報を操作することが可能です。
キーチェーンの情報はもちろんですが、login-path の認証も操作することができます。

シェル上から認証情報を削除することができました。

まとめ

WindowsやMacを使っているユーザーであれば、MySQL Shell のこの機能を使うことでログイン情報をOSの認証マネージャーに預けることができるので管理が楽になってさらにセキュアになると考えられます。


 

 

スマートスタイルTECHブログについて

スマートスタイルTECHブログでは、日頃MySQLのサポート業務に従事している有資格者で構成された技術サポートチームがMySQLに関する技術情報を発信しています。データベースのお困りごとはお気軽にご相談下さい。

よかったらシェアしてね!
  • URLをコピーしました!
目次