<p>MySQL raises this error when a view was created without DEFiner metadata, forcing the server to treat the current user as the definer and request that the view be recreated.</p>
<p>MySQL Error 1447: ER_VIEW_FRM_NO_USER occurs when a view lacks definer information, usually after an upgrade or dump restore. Recreate the view with a proper DEFINER clause or drop and re-create it to fix the problem.</p>
View '%s'.'%s' has no definer information (old table
The full message is: View 'database'.'view_name' has no definer information (old table format). Current user is used as definer. Please recreate the view!
MySQL shows this message when it encounters a view that was stored without the DEFiner metadata, often from pre-5.0 dumps or after migrating between servers. Without a valid definer, privilege checks may fail or behave unpredictably.
MySQL needs the DEFiner value to decide whose privileges apply when the view is executed. If that field is empty, it silently substitutes the current user, which can produce security gaps. To eliminate ambiguity, the server blocks further use of the view until it is recreated with a valid definer.
Queries referencing the affected view will stop with error 1447, interrupting application workflows, reports, or stored procedures. Because the view may be part of larger joins, the issue can cascade to many dependent queries.
The error is common after upgrading from MySQL 4.x or early 5.x to modern 5.7, 8.0, or MariaDB forks. It also shows up after restoring dumps that stripped DEFINER clauses with the --no-data or --skip-definer flags.
Views created before the DEFINER column was added (MySQL 5.0) lose that metadata during upgrade, triggering error 1447 when accessed.
mysqldump options like --skip-definer remove the clause. Importing such dumps produces views with empty definer, leading to the error.
Altering mysql.user or mysql.proc tables directly, or editing .frm files, can erase definer information and cause this condition.
Occurs when the definer user no longer exists. Recreate the user or alter the view with a valid definer.
Raised when the view definition is incompatible with certain SQL modes. Modify the view query.
Triggered by overly complex view joins. Simplify or break into multiple views.
No. Although MySQL substitutes the current user, it still demands you recreate the view. Ignoring the error halts query execution.
No data is stored in a view; recreating it only updates metadata. Underlying tables remain untouched.
Select a service account with the minimum privileges needed to run the view, not a personal login, to avoid future permission issues.
Galaxy highlights missing definer metadata during schema introspection and can auto-generate CREATE VIEW statements with explicit definers, catching the problem before deploy.