mysql(5.0.45)のパスワード設定
今まで、なんでパスワード設定して入れたり入れなかったりしたのかが今更わかった。原因はしっかりマニュアル読まなかった事によって、暗号化されたりされなかったりしてるのに気付かなかった事。
とりあえず、
# mysql -u root mysql> update mysql.user set Password=password('testpass') where User='root'; mysql> flush privileges; mysql> select Host,User,Password from mysql.user;
でいける(最後のは確認用)。
暗号化されない
- SET PASSWORD
- INSERT
- UPDATE
これらのステートメントを利用してパスワードを設定する場合は暗号化がされないので、パスワードをPASSWORD()関数で囲む。
password='testpass' → password=PASSWORD('testpass')
って感じ。パスワードを空白にするときはPASSWORD()で囲まなくてOK。
暗号化される
- GRANT ... IDENTIFIED BY
- mysqladminコマンド
これらは自動で暗号化される。