mysqldump:权限不足,无法显示create函数';函数名';

mysqldump:权限不足,无法显示create函数';函数名';,mysql,Mysql,我想在mysql workbench中转储带有函数和过程的数据库。我可以在没有函数和过程的情况下转储数据库。但当我尝试使用过程导出数据时,它向我显示了如下错误: “mysqldump:用户没有足够的权限显示创建函数名” 要使用存储过程转储数据库,必须向mysql.proc授予选择权限: 以root用户身份执行此语句一次: GRANT SELECT ON mysql.proc to 'your-mysqldump-user'; 用真实用户名替换mysqldump用户 然后刷新特权: FLUSH

我想在mysql workbench中转储带有函数和过程的数据库。我可以在没有函数和过程的情况下转储数据库。但当我尝试使用过程导出数据时,它向我显示了如下错误:

“mysqldump:用户没有足够的权限显示创建函数名”


要使用存储过程转储数据库,必须向mysql.proc授予选择权限:

以root用户身份执行此语句一次:

GRANT SELECT ON mysql.proc to 'your-mysqldump-user';
用真实用户名替换mysqldump用户

然后刷新特权:

FLUSH PRIVILEGES

现在,您应该能够使用mysqldump用户转储数据库,包括存储过程


更新:正如@Michael在评论中指出的,在这种情况下,刷新权限不是必需的

尝试将其作为具有所有权限的root用户转储实际上我无法使用终端。因为我还有一个问题。当我运行mysql-u root-p时,它向我显示了类似“拒绝用户访问”的错误root@localhost'. 所以我在Workbench中尝试了一个grant语句,您不需要刷新特权。只有在使用updates操作数据库中的特权表时,mysql 8中不再存在表mysq.proc。