1. ホーム
  2. mysql

[解決済み】MySQL エラー #1133 - ユーザー テーブルに一致する行が見つかりません。

2022-01-27 18:08:43

質問

を使用しているユーザーのパスワードを設定することができません。 3.5.2.2 - phpMyAdmin に対して 5.5.27 - MySQL . にログインしている状態でパスワードを設定しようとした場合。 phpMyAdmin というエラーが表示されます。

#1133 - Can't find any matching row in the user table

rootでログオンすると、以下のような「パスワードの設定に成功しました」というメッセージが表示されます。

SET PASSWORD FOR 'user'@'%' = PASSWORD( '***' )

どちらの場合も、パスワードは設定されず、現在のように空白のままです。

解決するには?

その結果、このエラーは非常に曖昧なものであることが判明しました。

1) rootでログオンしているときに、MySqlのusersテーブルのuser/passwordフィールドを更新していたため、パスワードが設定された。

2) ユーザーとしてログオンした場合、実際にはパスワードは変更されず、MySqlのユーザーテーブルに指定があったにもかかわらず、config.inc.phpファイルはパスワードなしの認証を許可しました。

解決方法

変更 次の値を false の中で config.inc.php .

$cfg['Servers'][$i]['AllowNoPassword'] = true;

というように読み取ります。

$cfg['Servers'][$i]['AllowNoPassword'] = false;

変更 ユーザーの ホスト から Any または % から localhost をMySqlのユーザーテーブルで使用することができます。これは、以下の方法で簡単に実現できます。 phpMyAdmin コンソールを使用します。

この2つの変更により、パスワード付きのユーザーとして認証できるようになり、パスワードなしの認証はできなくなりました。

また、ユーザーとしてログオンしている間、パスワードを変更することができるようになりました。

この2つの変更で、すべてのパーミッションと残りの部分が修正されたようです。