2

最近、以前の上司に割り当てられた MySQL のユーザー アカウントを削除しました。次に、彼が作成したテーブルからレコードを削除するなどのいくつかのデータベース機能が機能せず、次のエラーが発生しました。

#1449 - There is no '*username*'@'localhost' registered

今、同じ名前(および差分パスワード)で新しいユーザーを追加しましたが、エラーなく正常に動作します。しかし、プレースホルダー ユーザー アカウントなしでこれを解決する方法はありますか?

4

2 に答える 2

5

関数の DEFINER を置き換えてみてください

最初にmysqlにログインしますroot@localhost

root@localhost次に、 DEFINER として代入します。

UPDATE mysql.proc SET definer='root@localhost'
WHERE definer = '*username*@localhost';

実際、次のようにすべての DEFINER を確認できます。

SELECT COUNT(1) DefinerCount,definer,type
FROM mysql.proc GROUP BY definer,type;

これにより、各ユーザーが所有する関数とプロシージャの数が表示されます。報告された他の DEFINER が存在しないか無効である場合は、root@localhostそれらを継承させることができます。

試してみる !!!

于 2012-07-19T18:31:55.210 に答える
2

影響を受けるテーブルのトリガーを削除して再度追加する必要がありました。(これを行うにはphpMyAdminを使用しました)。

于 2012-08-29T17:35:00.620 に答える