将MySQL迁移到PostgreSQL 数据库账号及权限 数据库账号及权限如下表: 数据库 所需权限 参考赋权语句 源库 源库为MySQL5.7时: 对MySQL库的SELECT权限。 对待迁移库的SELECT,EVENT,TRIGGER权限。 部分全局权限: REPLICATION CLIENT REPLICATION SLAVE SHOW VIEW PROCESS 如果是整库迁移,需要对所有数据库的查询权限。 源库为MySQL8.0时: 对MySQL库的SELECT权限。 对待迁移库的SELECT, EXECUTE, EVENT,TRIGGER权限。 部分全局权限: PROCESS REPLICATION CLIENT REPLICATION SLAVE SHOW VIEW SHOWROUTINE 如果是整库迁移,需要对所有数据库的查询权限。 源库为MySQL5.7时: GRANT SELECT ON mysql. TO '迁移账号'@'%'; GRANT SELECT, EVENT,TRIGGER ON 待迁移的库. TO '迁移账号'@'%'; GRANT REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW, PROCESS ON . TO '迁移账号'@'%'; 源库为MySQL8.0时: GRANT SELECT ON mysql. TO '迁移账号'@'%'; GRANT SELECT, EXECUTE, EVENT, TRIGGER ON 待迁移的库. TO '迁移账号'@'%'; GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW, SHOWROUTINE ON . TO '迁移账号'@'%'; 目标库 schema的创建权限 授予用户username在数据库databasename下的schema创建权限: GRANT CREATE ON DATABASE databasename TO username; 注意 如果待迁移对象包含用户自定义function,则在满足上述权限的基础上,目标端数据库同时需将logbintrustfunctioncreators参数设置为1,参考语句如下:set global logbintrustfunctioncreators 1;