The user specified as a definer ('root'@'%') does not exist

---恢复内容开始---

重装Mysql,把以前备份过的SQL文件运行导入到数据库中,启动项目时报这个错误:

The user specified as a definer ('root'@'%') does not exist

百思不得其姐。

上网搜索,找到了答案。

出错的意思是数据库访问时没有‘@’这个用户.这主要是在新建视图和存储过程时,直截在mysql可视图形工具里copy代码到服务器上去运行,mysql里会自动生成一些代码,导致项目启动报错。

解决方法很简单,将SQL建表语句中的有关

'root'@'%

的部分全部删除,只保留   CREATE VIEW '*'  CREATE EVENT ‘*’,CREATE和VIEW,EVENT,FUNCTION之间不要有其他东西,除了空格。

就这样。

原文地址:https://www.cnblogs.com/alfily/p/4774218.html