Checking Whether the Destination Database User Has Sufficient Permissions

MySQL Migration

Table 1 Checking whether the destination database user has sufficient permissions

Check Item

Whether the destination database user has sufficient permissions

Description

Check whether the destination database user permissions meet the migration requirements. If the permissions are insufficient, the migration will fail.

Failure Cause and Handling Suggestion

Failure cause: The destination database user must have the following permissions: SELECT, CREATE, DROP, DELETE, INSERT, UPDATE, INDEX, EVENT, CREATE VIEW, CREATE ROUTINE, TRIGGER, and WITH GRANT OPTION. If the destination database version is in the range from 8.0.14 to 8.0.18, the SESSION_VARIABLES_ADMIN permission is required.

Handling suggestion: Check whether the destination database user permissions meet the migration requirements.

Failure cause: Insufficient user permissions

Handling suggestion: Check whether the database user permissions meet the migration requirements.

Failure cause: An internal error occurs.

Handling suggestion: Contact technical support.

MongoDB Migration

Table 2 Checking whether the destination database user has sufficient permissions

Check Item

Whether the destination database user has sufficient permissions

Description

Check whether the destination database user permissions meet the migration requirements. If the permissions are insufficient, the migration will fail.

Failure Cause and Handling Suggestion

Failure cause: This item cannot be checked because the destination database fails to be connected.

Handling suggestion: Check whether the destination database is connected.

Failure cause: The destination database user must have the dbAdminAnyDatabase permission for the admin database, the read permission for the config database, and the readWrite permission for the destination database.

Handling suggestion: Run the following statement to grant permissions to the destination database user.

db.grantRolesToUser("Username",[{role:"dbAdminAnyDatabase",db:"admin"}, {role:"read",db:"config"}, {role:"readWriteAnyDatabase",db:"admin"}])

Failure cause: The destination database user must have the readWrite permission for the databases to be migrated.

Handling suggestion: Run the following statement to grant permissions to the destination database user.

db.grantRolesToUser("Username",[{role:"readWriteAnyDatabase",db:"admin"}])

Failure cause: The destination database user must have the read permission for the config database.

Handling suggestion: Run the following statement to grant permissions to the destination database user.

db.grantRolesToUser("Username",[{role:"read",db:"config"}])

Failure cause: The destination database user must have the dbAdminAnyDatabase permission for the admin database.

Handling suggestion: Run the following statement to grant permissions to the destination database user.

db.grantRolesToUser("Username",[{role:"dbAdminAnyDatabase",db:"admin"}])

Failure cause: The destination database user must have the clusterManager permission for the admin database.

Handling suggestion: Run the following statement to grant permissions to the destination database user.

db.grantRolesToUser("Username",[{role:"clusterManager",db:"admin"}])

Failure cause: An internal error occurs.

Handling suggestion: Contact technical support.

Oracle -> PostgreSQL Synchronization

Table 3 Checking whether the destination database user has sufficient permissions

Check Item

Whether the destination database user has sufficient permissions

Description

Check whether the destination database user permissions meet the migration requirements. If the permissions are insufficient, the migration will fail.

Failure Cause and Handling Suggestion

Failure cause: The destination database user does not have sufficient permissions.

Handling suggestions: Run the following command to grant the permissions of creating databases and tables on the destination database. Then, perform the check again.

ALTER ROLE targetUser WITH CREATEDB;

In the preceding command, targetUser indicates the current user of the destination database.