目标数据库用户权限是否足够
MySQL迁移场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合迁移要求,若权限不够,会导致迁移失败。 |
不通过提示及处理建议 |
不通过原因:目标数据库的用户账号权限不够,需要具备SELECT、CREATE、DROP、DELETE、INSERT、UPDATE、INDEX、EVENT、CREATE VIEW、CREATE ROUTINE、TRIGGER、WITH GRANT OPTION这些权限。当目标库为是8.0.14-8.0.18版本,还需要SESSION_VARIABLES_ADMIN权限。 处理建议:查看提供的目标库账号权限是否符合迁移要求。 |
不通过原因:用户基本权限不足。 处理建议:查看对应数据库账号权限是否符合迁移要求。 |
PostgreSQL同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
按照需要同步对象的范围,授予不同的权限,有不同的要求。
|
不通过提示及处理建议 |
不通过原因:填写的目标数据库用户权限不足,需要具备CREATEDB权限。 处理建议:在目标数据库执行如下语句,赋予迁移账号CREATEDB权限。 alter role username with createdb; |
不通过原因:用户没有SCHEMA的USAGE权限。 处理建议:在目标数据库执行如下语句,赋予迁移账号CREATEDB权限。 grant usage on schema schemaname to username; |
|
不通过原因:用户没有创建TABLE的权限。 处理建议:在目标数据库执行如下语句,赋予迁移账号创建TABLE权限。 grant create on schema schemaname to username; |
|
不通过原因:用户没有创建SCHEMA的权限。 处理建议:在目标数据库执行如下语句,赋予迁移账号创建SCHEMA的权限。 grant create on database to username; |
|
不通过原因:库级同步,目标库为PostgreSQL 15时,全量或增量同步的过程中,可能会因为目标库默认schema:public权限不足导致任务同步失败。 处理建议:如果是表级同步,可以在目标库创建数据库;如果是库级同步,可以在任务进入全量同步后,在目标库下授予目标库schema:public的USAGE和CREATE权限,参考SQL如下: grant usage,create on schema public to username; |
MongoDB迁移、同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合迁移要求,若权限不够,会导致迁移失败。 |
不通过提示及处理建议 |
不通过原因:目标数据库连接失败,导致该项检查无法进行。 处理建议:查看目标数据库连接是否成功。 |
不通过原因:连接目标数据库的用户需要有admin的dbAdminAnyDatabase权限,有config的read权限,有目标数据库的readWrite权限。 处理建议:为连接目标数据库的用户赋权,参考: db.grantRolesToUser("用户名",[{role:"dbAdminAnyDatabase",db:"admin"}, {role:"read",db:"config"}, {role:"readWriteAnyDatabase",db:"admin"}]) |
|
不通过原因:连接目标数据库的用户权限需要有待迁移库的readWrite权限。 处理建议:为连接目标数据库的用户赋权,参考: db.grantRolesToUser("用户名",[{role:"readWriteAnyDatabase",db:"admin"}]) |
|
不通过原因:连接目标数据库的用户权限需要有config的read权限。 处理建议:为连接目标数据库的用户赋权,参考: db.grantRolesToUser("用户名",[{role:"read",db:"config"}]) |
|
不通过原因:连接目标数据库的用户权限需要有admin的dbAdminAnyDatabase权限。 处理建议:为连接目标数据库的用户赋权,参考: db.grantRolesToUser("用户名",[{role:"dbAdminAnyDatabase",db:"admin"}]) |
|
不通过原因:连接目标数据库的用户权限需要有admin的clusterManager权限。 处理建议:为连接目标数据库的用户赋权,参考: db.grantRolesToUser("用户名",[{role:"clusterManager",db:"admin"}]) |
Oracle->MySQL、Oracle->GaussDB(for MySQL)数据库同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合迁移要求,若权限不够,会导致迁移失败。 |
不通过提示及处理建议 |
不通过原因:连接目标数据库的用户权限不足,迁移时需要对所有数据库具备SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, RELOAD, CREATE VIEW, CREATE ROUTINE, TRIGGER, ALTER这些权限。 处理建议:查看提供的目标库账号权限是否符合迁移要求。 |
Oracle->PostgreSQL数据库同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合迁移要求,若权限不够,会导致迁移失败。 |
不通过提示及处理建议 |
不通过原因:目标数据库用户权限不足。 处理建议:建议给用户赋予在目标库创建数据库和表的权限后重新校验,参考命令: ALTER ROLE targetUser WITH CREATEDB; 其中,上述命令中“targetUser”表示目标库当前的用户。 |
MySQL->PostgreSQL同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合MySQL到PostgreSQL的同步要求,若权限不够,会导致同步失败。 |
不通过提示及处理建议 |
不通过原因:目标数据库中的部分表权限不足,需要具备INSERT、SELECT、UPDATE、DELETE权限。 处理建议:请为缺少权限的表添加所需权限,然后重试。 添加权限语句示例如下: GRANT INSERT,SELECT,UPDATE, DELETE ON db_name.table_name TO 'user'@'host'; |
PostgreSQL->PostgreSQL同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合PostgreSQL到PostgreSQL的同步要求,若权限不够,会导致同步失败。 |
不通过提示及处理建议 |
不通过原因:同步任务填写的连接目标数据库的用户权限不足,需要具备CREATEDB 权限。 处理建议:在目标数据库执行如下语句,赋予迁移账号CREATEDB权限。 ALTER ROLE role_name WITH CREATEDB; |
MySQL灾备场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
查用户提供的目标数据库账号权限是否符合迁移要求,若权限不够,会导致灾备失败。 |
不通过提示及处理建议 |
不通过原因:目标数据库权用户限不足,需要具备GRANT权限。 处理建议:在目标库执行如下语句,为用户赋予相应权限后重试。 GRANT SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, SHOW VIEW, EVENT, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'u1' WITH GRANT OPTION; |
DDM>Oracle同步场景
预检查项 |
目标数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的目标数据库账号权限是否符合DDM到Oracle同步要求,若权限不够,会导致同步失败。 |
不通过提示及处理建议 |
不通过原因:同步任务填写的连接目标数据库的用户权限不足。 处理建议:建议使用具有DBA权限的账号,或者为用户赋予相应权限后重新预校验。 |
目标库为GaussDB同步场景
预检查项 |
源数据库用户权限是否足够。 |
---|---|
描述 |
检查用户提供的源数据库账号权限是否符合迁移要求。 |
不通过提示及处理建议 |
不通过原因:连接源数据库的用户权限不足,用户需要具备schema的select权限。 处理建议:请使用对象的Owner用户或者系统管理员用户授予缺少的权限。 |
不通过原因:使用COPY接口同步数据时,用户缺少相关系统表 public.gs_copy_summary,public.pgxc_copy_error_log的权限。 处理建议:请使用对象的Owner用户或者系统管理员用户授权。赋权参考命令: grant all privileges on table public.os copy summary.public.pgxc copy error_log to user1; |