Recently, I imported a library and found that the function reported an error. At first glance, it was a view error. At first glance, Navicat reported an error directly. The user specified as a definer (‘root’@’%’) does not exist。
Solution:
Because the person who created the view
Solution 1
If you only have the current user and you do not have the password of the root user, it is recommended that you delete the current view, copy the statement and re-establish it.
Solution 2
If you have power user privileges, enter commands
grant all privileges on *.* to root@"%" identified by "."; flush privileges;
Replace root with the user you want to authorize.
Add one thing
For the security of the view, please supplement.
definer
When it is defined as a determiner, the user specified by the determiner must exist in the database and have the corresponding operation permission before it can be executed successfully. It has nothing to do with whether the current user has permission.
invoker
When it is defined as invoker, it can be executed successfully as long as the executor has execution permission.
Similar Posts:
- The user specified as a definer (root@’%’) does not exist [How to Solve]
- The user specified as a definer (‘root’@’%’) does not exist
- mysqldump Backup Error: mysqldump: Got error: 1449: The user specified as a definer (‘xxx’@’%’) does not exist when using LOCK TABLES
- ERROR 1044 (42000): Access denied for user ‘root’@’localhost’
- [Solved] MYSQL8.0 Error: the user specified as a definer (‘root’@’%’) does not exist
- mysql 1449 The user specified as a definer does not exist
- ERROR 1044 (42000): Access denied for user ‘root’@’localhost’ to database ‘in…
- Mysqldump backup problems got error: 1045, error 1045 (28000), got error: 1449
- When Navicat connects to a database on a server, there is an error prompt: 1130 ‘* *’ host is not allowed to connect to this MySQL server
- mysql 1142 – SELECT command denied to user ‘root_ssm’@’localhost’ for table …