Todos os produtos
Search
Central de documentação

PolarDB:Gerenciar contas e permissões

Última atualização: Jun 28, 2026

O PolarDB-X gerencia contas e permissões da mesma forma que o MySQL 5.7. O sistema oferece suporte aos comandos GRANT, REVOKE, SHOW GRANTS, CREATE USER, DROP USER e SET PASSWORD. Você pode conceder permissões nos níveis de banco de dados e de tabela. Não há suporte para permissões nos níveis global e de coluna.

Criar uma conta

CREATE USER [IF NOT EXISTS] user IDENTIFIED BY 'password';

O parâmetro user usa o formato 'username'@'host'. Duas contas são diferentes se compartilharem o mesmo nome de usuário, mas tiverem nomes de host distintos.

Requisitos para nome de usuário:

  • De 4 a 20 caracteres, começando com uma letra

  • Diferencia maiúsculas de minúsculas; pode conter letras e dígitos

Requisitos para nome de host:

  • Representa um ou mais endereços IP

  • Aceita os curingas _ (corresponde a um caractere) e % (corresponde a zero ou mais caracteres)

  • Nomes de host com curingas devem estar entre aspas simples, por exemplo: lily@'30.9.%.%' e david@'%'

  • Se duas contas corresponderem ao mesmo usuário de login, a conta com o prefixo mais longo (o bloco CIDR mais específico antes do curinga) terá precedência. Por exemplo, se existirem david@'30.9.12_.234' e david@'30.9.1%.234', o login a partir de 30.9.127.234 usará david@'30.9.12_.234'

  • Após a ativação da Virtual Private Cloud (VPC), os endereços IP dos hosts mudam. Defina o nome de host como % para corresponder a todos os endereços IP e evitar configurações de permissão obsoletas

Requisitos para senha:

  • De 6 a 20 caracteres

  • Pode conter letras, dígitos e os seguintes caracteres especiais: @#$%^&+=

Examples:

CREATE USER 'user1'@'127.0.0.1' IDENTIFIED BY '123456';

CREATE USER IF NOT EXISTS 'user2'@'%' IDENTIFIED BY '123456';

Alterar a senha de uma conta

SET PASSWORD FOR user = PASSWORD('auth_string');

Example:

SET PASSWORD FOR 'user1'@'127.0.0.1' = PASSWORD('654321');
Não é possível alterar senhas de contas privilegiadas usando instruções SQL.

Excluir uma conta

DROP USER user;

Example:

DROP USER 'user2'@'%';
Não é possível excluir contas privilegiadas usando instruções SQL.

Conceder permissões a uma conta

GRANT privileges ON database.table TO user;

O PolarDB-X oferece suporte a oito permissões no nível de tabela: CREATE, DROP, ALTER, INDEX, INSERT, DELETE, UPDATE e SELECT. Todas as concessões operam no nível de banco de dados ou de tabela. Não há suporte para concessões nos níveis global e de coluna.

Para verificar as permissões necessárias para operações SQL específicas, consulte Permissões necessárias para operações SQL.

Example:

GRANT SELECT, UPDATE ON `db1`.* TO 'user1'@'127.0.0.1';
Não é possível conceder permissões a contas privilegiadas usando instruções SQL.

Visualizar as permissões de uma conta

SHOW GRANTS [FOR user];

Examples:

SHOW GRANTS FOR 'user1'@'127.0.0.1';  -- show grants for a specific user
+------------------------------------------------------+
| GRANTS FOR 'USER1'@'127.0.0.1'                       |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user1'@'127.0.0.1'            |
| GRANT SELECT, UPDATE ON db1.* TO 'user1'@'127.0.0.1' |
+------------------------------------------------------+
SHOW GRANTS FOR current_user();  -- show grants for the currently logged-in user
+------------------------------------------------------+
| GRANTS FOR 'USER1'@'127.0.0.1'                       |
+------------------------------------------------------+
| GRANT USAGE ON *.* TO 'user1'@'127.0.0.1'            |
| GRANT SELECT, UPDATE ON db1.* TO 'user1'@'127.0.0.1' |
+------------------------------------------------------+

Revogar as permissões de uma conta

REVOKE privileges ON database.table FROM user;

Example:

REVOKE UPDATE ON db1.* FROM 'user1'@'127.0.0.1';

Após revogar a permissão UPDATE, as concessões restantes da conta são:

SHOW GRANTS FOR 'user1'@'127.0.0.1';
+----------------------------------------------+
| GRANTS FOR 'USER1'@'127.0.0.1'               |
+----------------------------------------------+
| GRANT USAGE ON *.* TO 'user1'@'127.0.0.1'    |
| GRANT SELECT ON db1.* TO 'user1'@'127.0.0.1' |
+----------------------------------------------+
Não é possível revogar permissões de contas privilegiadas usando instruções SQL.

Permissões necessárias para operações SQL

A tabela a seguir lista as permissões necessárias para executar instruções SQL específicas.

Instrução SQL

Permissão necessária

TRUNCATE

DROP (nível de tabela)

REPLACE

INSERT e DELETE (nível de tabela)

CREATE INDEX

INDEX (nível de tabela)

DROP INDEX

INDEX (nível de tabela)

CREATE SEQUENCE

CREATE (nível de banco de dados)

DROP SEQUENCE

DROP (nível de banco de dados)

ALTER SEQUENCE

ALTER (nível de banco de dados)

INSERT ON DUPLICATE UPDATE

INSERT e UPDATE (nível de tabela)