ホームページ >データベース >mysql チュートリアル >MySQL エラー 1449: 「定義者として指定されたユーザーは存在しません」を修正する方法?

MySQL エラー 1449: 「定義者として指定されたユーザーは存在しません」を修正する方法?

DDD
DDDオリジナル
2024-12-03 17:09:18851ブラウズ

MySQL Error 1449: How to Fix

MySQL エラー 1449: ユーザーが定義者として指定されました

MySQL エラー 1449、「ユーザーが定義者として指定されました ('web2vi' @'%') は存在しません」は、データベース オブジェクト (ビュー、ビューなど) を作成したユーザーを示します。トリガー、またはプロシージャ) はデータベースに存在しません。これは通常、異なるデータベースまたはサーバー間でデータベース オブジェクトをエクスポートおよびインポートするときに発生します。

エラーの解決

このエラーには 2 つの解決策が考えられます。

1. DEFINER を変更します

  • ビューの場合: ALTER ステートメントを作成してビュー定義を更新し、DEFINER ステートメントを削除します。
  • ストアド プロシージャの場合: UPDATE ステートメントを使用して、ストアド プロシージャの定義者を変更します。ただし、これはサーバー上のすべてのデータベースに影響します。

2.欠落したユーザーの作成

  • オブジェクトを作成した元のユーザーと同じ権限を持つ欠落したユーザーを作成します。
  • 新しいユーザーに必要な権限を付与します。
  • FLUSH PRIVILEGES コマンドを使用して権限を更新します

オプション 2 を使用した例

欠落しているユーザーが「root」の場合は、次のコマンドを使用します。

GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;

あるいは、MariaDB の場合:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'complex-password';
FLUSH PRIVILEGES;

欠落しているユーザーを作成した後、エラーが発生します。クエリの実行時に表示されなくなりました。

以上がMySQL エラー 1449: 「定義者として指定されたユーザーは存在しません」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。