mysqldump报错’The user specified as a definer (‘root’@’%’) does not exist when using LOCK TABLES’;
快速解决方案
新增缺失的Host即可:
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'password';
flush privileges;错误原因
在创建数据库的过程中(如table)使用的是’root@%’,而现在数据库中并没有对应的Host。
查看数据库中现有的Host:
use mysql;
select Host, User, Password from user;
如果发现缺失没有对应的Host,最简单的快捷的方式是增加相应的Host(如上)。或者更改table所属的Host。