前の関連記事:linuxBean14.04(67)サンプルデータベースsakila databaseのインストール
mysql_config_editorでmysql-serverへの認証情報を難読化してファイルに保存できます。4.6.6 mysql_config_editor — MySQL 構成ユーティリティーにはMySQL 5.6.6(5.6の誤植?)で使用可能と書いてありますがMySQL 5.6.26でも使えました。
mysql_config_editorでログイン情報を保存する
mysql_config_editor set --login-path=local --host=localhost --user=User01 --password
このコマンドでログインパス名をlocalと命名し、localhostにユーザー名User01でログインする情報を設定します。
パスワードはこのコマンドを実行すると入力を促されるのでそこで入力します。
mysql_config_editor print --all
設定したログイン方法はこのコマンドで確認できます。
pq@pq-VirtualBox:~$ mysql_config_editor set --login-path=local --host=localhost --user=User01 --password Enter password: pq@pq-VirtualBox:~$ mysql_config_editor print --all [local] user = User01 password = ***** host = localhostパスワードは表示されません。
これらの情報は~/.mylogin.cnfファイルに保存されていますがバイナリファイルになっています。
.mylogin.cnfファイルは暗号化されているものの鍵も一緒に埋め込まれているため、セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editorによると簡単に解読できるので、公開しないほうがよいそうです。
mysql_config_editor remove --login-path=local
これでログインパスlocalが削除されます。
個別の項目を削除したいときはログインパス名に続いて削除したい項目を指定します。
--userでユーザー、--passwordでパスワード、--host でホスト、が指定できます。
pq@pq-VirtualBox:~$ mysql_config_editor remove --login-path=local --user pq@pq-VirtualBox:~$ mysql_config_editor print --all [local] password = ***** host = localhost--userでログインパスからユーザー名の項目が削除されているのがわかります。
mysql_config_editor set --login-path=local --user=User01
これで指定した項目のみ追記できるのかと思いましたがログインパスの内容すべての書き換えしかできませんでした。
pq@pq-VirtualBox:~$ mysql_config_editor remove --login-path=local --user pq@pq-VirtualBox:~$ mysql_config_editor print --all [local] password = ***** host = localhost pq@pq-VirtualBox:~$ mysql_config_editor set --login-path=local --user=User01WARNING : 'local' path already exists and will be overwritten. Continue? (Press y|Y for Yes, any other key for No) : y pq@pq-VirtualBox:~$ mysql_config_editor print --all [local] user = User01
ログインパスを使ってmysqlにログインする
mysql_config_editorでログインパスを設定するとログインパス名を使ってログインできるようになります。
mysql --login-path=local
ログインパスをオプションで指定するだけでログインできます。
pq@pq-VirtualBox:~$ mysql --login-path=local Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 52 Server version: 5.6.26 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
MySQL Utilities 1.5.5のログインにはログインパスは使えず
MySQL Utilities 1.5.5はlinuxBean14.04(64)MySQL Utilities1.5.5とConnector/Python2.0.4のインストールでインストールしたものです。
Pythonで作られた便利なコマンドラインツール MySQL Utilities | Think IT(シンクイット)
MySQL Utilitiesの解説はこのページがわかりやすいです。
MySQL Utilitiesのコマンドに続けて--server=ユーザー名:パスワード@localhost:3306というオプションでMySQLサーバに接続します。
pq@pq-VirtualBox:~$ mysqldiskusage --server=User01:パスワード@localhost:3306 WARNING: Using a password on the command line interface can be insecure. # Source on localhost: ... connected. WARNING: Your user account does not have read access to the datadir. Data sizes will be calculated and actual file sizes may be omitted. Some features may be unavailable. # Database totals: +---------------------+--------------+ | db_name | total | +---------------------+--------------+ | employees | 204,931,072 | | mysql | 939,782 | | performance_schema | 0 | | sakila | 6,830,912 | +---------------------+--------------+ Total database disk usage = 212,701,766 bytes or 202.85 MB #...done.mysqldiskusageではこのように各スキーマのディスク消費量がわかります。
「パスワード」の部分は平文で丸見えです。
そこで--login-path=localで接続できないかと期待しましたが期待はずれでした。
--login-pathオプションはないというエラーが返ってきます。
参考にしたサイト
MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.6.6 mysql_config_editor — MySQL 構成ユーティリティー
mysql_config_editor の解説。
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor
.mylogin.cnfファイルのパスワードは簡単に解読できるそうです。
MySQL :: MySQL Utilities
MySQL Utilitiesの公式マニュアル。
Pythonで作られた便利なコマンドラインツール MySQL Utilities | Think IT(シンクイット)
MySQL Utilitiesのわかりやすい解説。
0 件のコメント:
コメントを投稿