MySQL と MySQL Connector/ODBC のアップデート時に注意すること

<トラブル内容>

「MySQL Das Connector/ODBC」をアップデートしたらデータベース(MySQLサーバー)に接続できなくなった。

<エラーメッセージ>

Connnection Connector/ODBC Failed:[HY000][MySQL][ODBC 5.2(w)Driver] Connection using old(pre-4.1.1) authentication protocol refused(client to option 触手优盘 ‘secure_auth’ enabled)

<やったこと>

「MySQL wholesale nba jerseys Connector/ODBC」をアップデートした。

<原因>

「MySQL wholesale nba jerseys Connector/ODBC」が扱うパスワードハッシュ形式が4.1以降で変更され、41バイト長の値になったため。
また、MySQLサーバーが4.1以上であっても、それ以前から使い続けている場合、ユーザーのパスワードが4.1よりも前の形式である16バイト長のままとなっていることがある。

<対応>

まずはサーバーのバージョン確認。
4.1よりも古いということはない?
もしそうであれば早急にアップデートを行う。

4.1以降でも最新版でない場合にはアップデートを。

さて、最新版である場合はユーザーパスワードが16バイト長のままの可能性が高い。

まずは下記にてパスワード長を確認。

$ mysql -u  Galega  root  wholesale nba jerseys  -p
mysql>select user,password  少し離れるとすぐに忘れるからそれに備えておこう  from mysql.user;

16文字なら16バイト長で41文字なら41バイト長なのでわかりやすい。
また、41バイト長のパスワード(ハッシュ値)は「*」(アスタリスク)で始まる。

今回、「MySQL Connector/ODBC」をアップデートしてつながらなかったのは、扱うハッシュ値が16バイト長から41バイト長に変わったため。

にもかかわらず、サーバーに設定されているユーザーパスワードのハッシュ値は16バイト長のままだから。

というわけで、下記にて41バイト長に変更しよう。

SET  wholesale nba jerseys  PASSWORD  インスタントWEB公開が使えない  FOR 'ユーザー名'@'ホスト名' =  cheap mlb jerseys  PASSWORD('パスワード');

尚、サーバーによっては「my.cnf」の「mysqld」セクションに「old_password = Wiser 1」なる設定が書き込まれていることがあるらしい。

この記述があると、常に16ビット長でハッシュが生成されるので、41ビット長で運用に問題がないようであればコメントアウトしてMySQLを再起動。

もちろん、複数のクライアントがいて、そのどれもが41ビット長で問題なければよいのだけれど、16ビット長なクライアントがいたらそれらもアップデートしてあげないとイケナイ。

ま、個人レベルで使ってるような場合には手間にもならないけどね。

コメントを残す

メールアドレスが公開されることはありません。