勉強したことのメモ

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で大文字小文字

半角英数字のみのフォームで入力した値を検索した際、 データに差異が発生。 [Aa ...

Codeigniter4でMySQLに接続しCRUD操作する方法

Codeigniter4.4.4でMySQLに接続しCRUD操作したい。また、任 ...

MySQLが起動も再起動もできない際の対応方法

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...

MySQLで「doesn't have a default value」エラーの対処

MySQLでINSERT時に「Field 'カラム名' doesn't have ...

MySQLでLIKE検索時に大文字・小文字・半角・全角全て区別したい

以前にMySQLであいまい検索時に大文字小文字は区別しないが、それ以外は全て区別 ...