目标数据库用户权限是否足够
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; |
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"}]) |