O comando GRANT ALL PRIVILEGES no MariaDB concede todos os direitos de usuário sobre um banco de dados. Assim, usuários podem criar, modificar e excluir tabelas sem res­tri­ções.

O que é o comando GRANT ALL PRIVILEGES no MariaDB?

O comando GRANT ALL PRIVILEGES no MariaDB atribui a uma usuária ou a um usuário direitos completos de acesso a um ou mais bancos de dados. Ele concede todas as per­mis­sões dis­po­ní­veis, incluindo criar, alterar e excluir tabelas, além do acesso a funções ad­mi­nis­tra­ti­vas. Com o uso di­re­ci­o­nado do GRANT ALL PRIVILEGES, você controla os direitos de acesso dentro do seu ambiente de banco de dados.

Para usar o GRANT ALL PRIVILEGES no MariaDB, é ne­ces­sá­rio ter pri­vi­lé­gios avançados do sistema. Nor­mal­mente, isso inclui o pri­vi­lé­gio SUPER ou permissão para conceder direitos (GRANT OPTION). Faça login com uma conta ad­mi­nis­tra­tiva e garanta uma conexão estável com a instância correta do banco de dados. Atente para definir com precisão o nome do usuário e o prefixo do host para evitar atri­bui­ções indevidas. Também é im­por­tante verificar se o banco de dados de destino já existe, pois o comando só pode ser aplicado a bancos de dados exis­ten­tes.

Cloud Compute Engine da IONOS

Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.

  • Seguro
  • Confiável
  • Flexível

Sintaxe do comando GRANT ALL PRIVILEGES no MariaDB

A estrutura básica para conceder todos os direitos a um banco de dados no MariaDB é a seguinte:

GRANT ALL PRIVILEGES ON database.* TO 'username'@'host';
sql

GRANT ALL PRIVILEGES no MariaDB concede à usuária ou ao usuário es­pe­ci­fi­cado per­mis­sões completas sobre o banco de dados se­le­ci­o­nado. Ao indicar 'username'@'host', você define qual usuário e de qual host terá acesso ao banco de dados. Op­ci­o­nal­mente, é possível definir uma senha para au­ten­ti­car a usuária ou o usuário.

Após executar o comando, na maioria dos casos as al­te­ra­ções só entram em vigor quando você recarrega os pri­vi­lé­gios com:

FLUSH PRIVILEGES;
sql

Isso garante que os direitos con­ce­di­dos sejam ativados ime­di­a­ta­mente e ar­ma­ze­na­dos cor­re­ta­mente no sistema.

Passo a passo: Como criar usuário e conceder per­mis­sões no MariaDB

Se você deseja criar uma conta de usuário no MariaDB e conceder a ela direitos completos, siga os passos abaixo:

Passo 1: Criar usuário

Primeiro, crie um novo usuário com uma senha segura usando o comando:

CREATE USER 'newuser'@localhost IDENTIFIED BY 'strongpassword';
sql

Com o comando MariaDB CREATE USER você cria um usuário e define uma senha para ele. Substitua newuser pelo nome desejado e strongpassword por uma senha segura e per­so­na­li­zada. A indicação localhost limita o acesso a conexões do servidor local. Se quiser permitir acesso de outro host, substitua localhost pelo endereço IP ou nome do host desejado.

Passo 2: Conceder todos os direitos sobre um banco de dados

O comando GRANT ALL PRIVILEGES no MariaDB concede ao usuário todos os pri­vi­lé­gios dis­po­ní­veis em todas as tabelas do banco database_name. O asterisco * indica todas as tabelas dentro do banco es­pe­ci­fi­cado.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost;
sql

Passo 3: Permitir repassar pri­vi­lé­gios com GRANT OPTION

Ao adicionar WITH GRANT OPTION, o usuário recebe permissão para repassar os pri­vi­lé­gios con­ce­di­dos a outros usuários.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost WITH GRANT OPTION;
sql

Passo 4: Conceder pri­vi­lé­gios es­pe­cí­fi­cos sobre um banco ou tabela

Você também pode conceder apenas de­ter­mi­na­dos pri­vi­lé­gios para um banco de dados completo ou para tabelas es­pe­cí­fi­cas. Por exemplo, para permitir somente acesso de leitura a todas as tabelas de um banco de dados, use:

GRANT SELECT ON database_name.* TO 'newuser'@localhost;
sql

Neste exemplo, 'newuser' recebe o direito de ler todos os dados no banco de dados database_name, mas sem poder fazer al­te­ra­ções. O uso de * após o nome do banco indica que os pri­vi­lé­gios se aplicam a todas as tabelas desse banco.

Se quiser conceder pri­vi­lé­gios apenas para uma tabela es­pe­cí­fica, ajuste a sintaxe da seguinte forma:

GRANT SELECT ON database_name.table_name TO 'newuser'@localhost;
sql

Assim, 'newuser' pode ler dados apenas da tabela table_name dentro do banco database_name. Isso permite um controle bem detalhado sobre as ações que o usuário pode realizar.

Passo 5: Aplicar al­te­ra­ções

Os pri­vi­lé­gios devem ser atu­a­li­za­dos au­to­ma­ti­ca­mente e entrar em vigor ime­di­a­ta­mente. Al­ter­na­ti­va­mente, você pode executar o seguinte comando para garantir que todos os direitos con­ce­di­dos sejam aplicados:

FLUSH PRIVILEGES;
sql

Passo 6: Exibir pri­vi­lé­gios con­ce­di­dos

Para verificar todos os pri­vi­lé­gios atu­al­mente atri­buí­dos a uma conta de usuário, digite o seguinte comando:

SHOW GRANTS FOR 'newuser'@localhost;
sql

Esse comando exibe todos os pri­vi­lé­gios que newuser possui na instância do MariaDB. Além dos direitos gerais sobre bancos ou tabelas, também aparecem pri­vi­lé­gios es­pe­cí­fi­cos como a permissão de repassar direitos a outros (WITH GRANT OPTION).

Ir para o menu principal