更新时间:2024-04-15 GMT+08:00

源数据库用户权限是否足够

MySQL迁移场景

表1 源数据库用户权限是否足够

预检查项

源数据库用户权限是否足够。

描述

检查用户提供的源数据库账号权限是否符合迁移要求,全量迁移和增量迁移时,所需源数据库账号权限不同。

  • 当为全量迁移时,需要具备SELECT、SHOW VIEW、EVENT这些权限。
  • 当为增量迁移时,需要具备SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT这些权限。

如果权限不够,会导致迁移失败。

不通过提示处理建议

不通过原因:连接源数据库的用户权限不足,全量迁移时需要具备SELECT、SHOW VIEW、EVENT这些权限。

处理建议:为缺失权限的数据库添加权限。

不通过原因:连接源数据库的用户权限不足,增量迁移时需要具备SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT这些权限,如果是灾备场景还需具备CREATE、ALTER、DROP、DELETE、INSERT、UPDATE、INDEX权限。

处理建议:为缺失权限的数据库添加权限。

不通过原因:用户基本权限不足。

处理建议:查看对应数据库账号权限是否符合迁移要求。

说明:

DRS要求的MySQL权限以及授权操作,请参见DRS要求的MySQL权限有哪些

PostgreSQL同步场景

表2 源数据库用户权限是否足够

预检查项

源数据库用户权限是否足够。

描述

不同类型的同步任务,需授予同步账户不同权限。

  • 全量同步:数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限,系统表pg_catalog.pg_authid的select权限(用于同步用户的密码)。
  • 全量+增量同步:数据库的CONNECT权限,模式的USAGE权限,表的SELECT权限,序列的SELECT权限,系统表pg_catalog.pg_authid的select权限(用于同步用户的密码),无主键表的UPDATE、DELETE和TRUNCATE权限,REPLICATION连接权限。

如果权限不够,会导致迁移失败。

不通过提示处理建议

不通过原因:源数据库连接失败,导致该项检查无法进行。

处理建议:查看源数据库连接是否成功。

不通过原因:用户基本权限不足。

处理建议:查看对应的数据库账号权限是否符合迁移要求。

不通过原因:连接源数据库的用户权限不足,全量迁移时需要具备SELECT、REFERENCES、TRIGGER、EXECUTE和USAGE权限。

处理建议:更换迁移账号或者对迁移账号进行授权。

不通过原因:没有复制权限,需要在配置文件pg_hba.conf配置允许迁移实例和迁移账号进行复制连接的权限。

处理建议

配置该账号的复制连接权限。

打开配置文件pg_hba.conf,配置如下参数,重启数据库生效。

host replication XXX(dbuser) 0.0.0.0/0 method

完成迁移之后删除这条记录,重启数据库生效。

不通过原因:源数据库参数max_wal_senders取值太小。

处理建议:建议将配置文件postgresql.conf中的max_wal_senders参数值增大,如+5,+10等等。

不通过原因:数据库不可用。

处理建议:请联系技术支持人员处理。

待确认提示处理建议

待确认原因:源数据库中存在只有SUPERUSER用户才能创建的对象,而目标库连接用户不是SUPERUSER用户,这些对象将被忽略。

处理建议:使用SUPERUSER用户连接目标库,或确认这些对象可以被忽略。