mysqldump备份报错:mysqldump: Got error: 1449: The user specified as a definer ('xxx'@'%') does not exist when using LOCK TABLES
1、查找xxx用户,发现不存在
select user,host from mysql.user;
之前创建视图的xxx用户已被删除
2、找出这些视图,修改定义者信息
select concat("alter definer=`root`@`%` view ", table_name, " as ", view_definition, ";")
from information_schema.views
where table_schema='<你的数据库名>';
以上SQL会生成一条修改定义者的语句,执行即可