勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

adminerでMySQLに接続しようとするとエラーになる場合の対応方法

   2024/03/04  MySQL

新しく構築したサーバにadminerを入れて接続しようとすると、「mysqlnd cannot connect to MySQL 4.1~~」のようなエラーが表示されてい接続出来なかった。以下に対応方法をメモ。

 

エラー内容

以下エラーメッセージの全文。

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file

 

翻訳すると以下のような内容。

mysqlnd は、古い安全でない認証を使用して MySQL 4.1 以降に接続できません。管理ツールを使用して、コマンド SET PASSWORD = PASSWORD('your_existing_password') でパスワードをリセットしてください。これにより、新しい、より安全なハッシュ値が mysql.user に保存されます。このユーザーが PHP 5.2 以前で実行される他のスクリプトで使用されている場合は、my.cnf ファイルから old-passwords フラグを削除する必要がある場合があります。

 

対応方法

サーバにSSH接続し以下の通り進める。

#MySQLの設定ファイルを開く
/etc/my.conf

#以下の項目があれば削除
old_passwords=1

#MySQLに接続
mysql -u [ユーザー名] -p

#以下を実行
set password for 'ユーザー名'@'localhostやホスト名' = password('パスワード');

 - MySQL

  関連記事

MySQLで開始~終了日時の間隔を計算し分に変換して出力する方法

MySQLで「開始日時」「終了日時」のdatetime型カラムがあり、開始から終 ...

MySQLで検索した件数の取得

ページングとかで必要になる総件数について、 いつもググってしまっていたのでメモ。 ...

MySQLのクエリキャッシュの設定方法

MySQLでのクエリキャッシュ設定及び設定項目について以下にメモ。   ...

MySQLにて直近のクエリで発行されたAUTO_INCREMENTの値を取得する方法

やりたかったことは「MySQLで新規登録(INSERT)なら、登録時のAUTO_ ...

MySQLでサイズの大きいファイルをインポートする際の注意点

MySQLでサイズの大きい(3GBほどの)dumpファイルを異なるサーバに移行し ...