勉強したことのメモ

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にて指定したカラムがNULLもしくは空の場合、あらかじめ決めておいた内容で表示する方法

何らかのフォームとMySQLを組み合わせた際に任意入力の項目はそのカラムがNUL ...

MySQLで全国の市区町村のデータを入手し、抽出する方法

都道府県と市区町村が連携したセレクトメニューを作成したかった。具体的には大阪府を ...

PLESK利用時にMySQLでrootのパスワードが分からない場合の対応方法

pleskで管理しているサーバがあり、mysqlのrootのパスワードが分からな ...

MySQLで「Incorrect integer value: '' for column」エラーの対応方法

MySQLで「Incorrect integer value: '' for c ...

MySQLでtime型データからint型データの減算を行い、減算後のデータで条件検索する方法

MySQLでtime型データからint型データの減算を行い、減算後のデータを検索 ...