MySQLのパスワード

提供: セキュリティ
2013年4月21日 (日) 22:20時点におけるDaemon (トーク | 投稿記録)による版

移動: 案内検索
スポンサーリンク


概要

MySQL のユーザアカウントは、 mysql データベースの user テーブルに格納されています。 user テーブルの Password カラムには、平文テキストではなく、パスワードハッシュ値が入ります。

ハッシュ値の計算は、MySQLの PASSWORD() 関数で行われます。 PASSWORD()は、同じ値に対して、常に同じハッシュ値を出力します。

MySQL の 4.1 でパスワードハッシュメカニズムが変更されました。

パスワード
4.1から 4.1より前
パスワード長さ 41 16
特徴 先頭が * はじまる 先頭が * ではない

4.1 より前のパスワード関数

MySQL 4.1 から 4.1 より前のパスワードハッシュを求めるには、 OLD_PASSWORD() 関数を利用します。

使い方

mysql> SELECT PASSWORD('test');
+-------------------------------------------+
| PASSWORD('test')                          |
+-------------------------------------------+
| *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+-------------------------------------------+
1 row in set (0.00 sec)
 
mysql> SELECT OLD_PASSWORD('test');
+----------------------+
| OLD_PASSWORD('test') |
+----------------------+
| 378b243e220ca493     |
+----------------------+
1 row in set (0.00 sec)

古いパスワードを使うオプション

my.cnf に old-passowrds と書きます。

確認方法は、 @@old_passwords を select します。

mysql> SELECT @@old_passwords;
+-----------------+
| @@old_passwords |
+-----------------+
|               0 |
+-----------------+
1 row in set (0.01 sec)

MySQL のパスワード変更

mysql> UPDATE user SET Password=PASSWORD('mynewpassword')
    ->             WHERE User='root';
mysql> FLUSH PRIVILEGES;

関連項目




スポンサーリンク