重建表查询权限丢失

从2.5升级到3.1,发现单表授权在表重建后会丢失

create database test;
create table t1 (c1 int);
create user u1 identified by 't1123';

如果是 grant select on test.t1 to user u1 这种方式,表t1 在drop & create 重建后,用户u1对表 t1的权限直接没了;
如果是 grant select all tables on database test to user u1 这种库级别的方式,表t1 重建后无任何权限影响;
想知道有什么办法能规避吗?还是只能每次重建后手动授权?

您好,当前虽然授权语句是表名授权的,但底层实现是根据表的id来识别的,表重建后虽然是同名,但id已经变了,因此会清除被drop的表相关的权限。当前只能重建后手动授权,因为认为这已经不是同一个表了。