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

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

DDD
リリース: 2024-12-10 11:18:11
オリジナル
740 人が閲覧しました

How to Resolve MySQL Error 1449:

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

このエラーは通常、ビュー、トリガー、またはプロシージャをインポートするときに発生します。オブジェクトの作成者がもういない別のデータベース存在します。

原因:

  • 元のデータベースでオブジェクトを定義したユーザーが現在のデータベースに存在しないか、

解決策:

オプション 1: 定義者を変更する

ビュー:

  1. 次の SQL を使用して ALTER ステートメントを生成します:

    SELECT CONCAT("ALTER DEFINER=youruser@host VIEW ",
    table_name, " AS ", view_definition, ";")
    FROM information_schema.views
    WHERE table_schema='your-database-name';
    ログイン後にコピー
  2. ALTER ステートメントをコピーして実行します。

保存用手順:

次の構文を使用し、'youruser' を目的のユーザーに置き換えます:

UPDATE `mysql`.`proc` p SET definer = 'user@%' WHERE definer='root@%'
ログイン後にコピー

オプション 2: 欠落しているユーザーを作成します

  1. 適切なオプションを使用して欠落しているユーザーを作成します権限:

    • ローカル開発サーバーの場合:

      GRANT ALL ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password';
      FLUSH PRIVILEGES;
      ログイン後にコピー
    • MariaDB:

      GRANT ALL PRIVILEGES ON *.* TO 'someuser'@'%' IDENTIFIED BY 'complex-password';
      FLUSH PRIVILEGES;
      ログイン後にコピー
  2. 必要な権限のみを付与します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート