CREATE USER permite criar novos uti­li­za­do­res no MariaDB. Se quiser adicionar um novo uti­li­za­dor, precisa de per­mis­sões de ad­mi­nis­tra­dor. Pode atribuir per­mis­sões de uti­li­za­dor a uma conta com GRANT.

CREATE USER no MariaDB: os passos a seguir

A instrução «CREATE USER» no MariaDB é utilizada para criar um novo uti­li­za­dor. A seguir, mostramos os passos que deve seguir para o fazer.

Passo 1: conecte-se ao MariaDB

O novo uti­li­za­dor é criado di­re­ta­mente no MariaDB. Para es­ta­be­le­cer a ligação, basta abrir a linha de comandos do MariaDB e aceder com o seu nome de uti­li­za­dor e palavra-passe. É im­por­tante que a conta cor­res­pon­dente tenha per­mis­sões de ad­mi­nis­tra­dor.

Passo 2: utilize CREATE USER

Agora utilize CREATE USER para criar um novo uti­li­za­dor no MariaDB. A sintaxe da instrução cor­res­pon­dente é a seguinte:

CREATE USER nombre_usuario@hostname IDENTIFIED BY 'contraseña';
sql

Em vez do marcador de posição «nome_de_uti­li­za­dor», introduza o nome de uti­li­za­dor que desejar. O nome de uti­li­za­dor deve ser único no ambiente do servidor. Substitua «hostname» pelo nome do host cor­res­pon­dente ou pelo endereço IP do seu servidor e, por último, defina uma palavra-passe segura para a conta.

Passo 3: atribuir per­mis­sões de uti­li­za­dor

O próximo passo é atribuir as per­mis­sões ne­ces­sá­rias ao novo uti­li­za­dor. As per­mis­sões definem o que um uti­li­za­dor pode fazer no sistema. A seguir, en­con­trará uma ex­pli­ca­ção mais detalhada sobre as per­mis­sões do uti­li­za­dor. Para atribuir per­mis­sões, utiliza-se a instrução GRANT. A sua sintaxe é a seguinte:

GRANT permisos ON base_datos.tabla TO nombre_usuario@hostname;
sql

Após a sentença GRANT, indique as per­mis­sões que a conta cor­res­pon­dente deve receber, separadas por vírgulas. “base_datos.tabla” pode referir-se a uma base de dados es­pe­cí­fica ou a tabelas in­di­vi­du­ais. Também pode utilizar *.* para fazer re­fe­rên­cia a todo o sistema. Em vez do marcador de posição “nombre_usuario@hostname”, utilize o nome de uti­li­za­dor e o nome do host do novo uti­li­za­dor.

Passo 4: aplique as per­mis­sões de uti­li­za­dor

Depois de atribuir as per­mis­sões, utilize o comando FLUSH PRIVILEGES para aplicá-las di­re­ta­mente. O comando tem o seguinte aspecto:

FLUSH PRIVILEGES;
sql

Passo 5: inicie sessão

O novo uti­li­za­dor já pode iniciar sessão no servidor MariaDB, uma vez que lhe foram atri­buí­das as per­mis­sões de uti­li­za­dor. Para tal, basta in­tro­du­zir o seu nome de uti­li­za­dor e a palavra-passe atribuída. Para eliminar uma conta, pode utilizar DROP USER como ad­mi­nis­tra­dor.

Atribuir per­mis­sões de uti­li­za­dor

As per­mis­sões de uti­li­za­dor, também co­nhe­ci­das como «pri­vi­lé­gios» em inglês, de­ter­mi­nam quais ações podem ser re­a­li­za­das com uma conta no MariaDB. Enquanto o uti­li­za­dor ad­mi­nis­tra­dor tem todas as per­mis­sões, as per­mis­sões de outros uti­li­za­do­res devem ser limitadas para evitar problemas de segurança. As per­mis­sões de uti­li­za­dor habituais são as seguintes:

  • ALL: atribui à conta todas as per­mis­sões, exceto GRANT OPTION.
  • GRANT OPTION: permite que a conta atribua per­mis­sões a outros uti­li­za­do­res.
  • SELECT: permite que a conta aceda a bases de dados ou tabelas.
  • INSERT: permite que a conta adicione novas linhas a uma tabela.
  • UPDATE: permite que a conta atualize linhas.
  • DELETE: permite que a conta elimine linhas.
  • CREATE: permite que a conta crie novas tabelas ou bases de dados.
  • ALTER: permite que a conta modifique a estrutura de uma tabela.
  • DROP: permite que a conta elimine tabelas ou bases de dados.

Se pretender alterar as per­mis­sões do uti­li­za­dor pos­te­ri­or­mente, utilize a instrução REVOKE. Utilize a instrução SHOW GRANTS FOR para obter uma visão geral das per­mis­sões atri­buí­das.

OR REPLACE e IF NOT EXISTS

Se tentar criar um novo uti­li­za­dor no MariaDB com CREATE USER e já existir um uti­li­za­dor com o mesmo nome, receberá uma mensagem de erro. Para evitar este erro, o sistema de gestão de bases de dados oferece duas cláusulas: OR REPLACE e IF NOT EXISTS.

A sintaxe do OR REPLACE é a seguinte:

CREATE OR REPLACE USER nombre_usuario@hostname IDENTIFIED BY 'contraseña';
sql

O que é o mesmo que executar o seguinte código:

DROP USER IF EXISTS nombre_usuario@hostname;
CREATE USER nombre_usuario@hostname IDENTIFIED BY 'contraseña';
sql

O sistema verifica se já existe um uti­li­za­dor com esse nome. Se existir, a conta antiga é subs­ti­tuída pela nova. Se o uti­li­za­dor não existir, é criado um novo.

A sintaxe do IF NOT EXISTS é a seguinte:

CREATE USER IF NOT EXISTS nombre_usuario@hostname IDENTIFIED BY 'contraseña';
sql

A cláusula IF NOT EXISTS também verifica se já existe uma conta com o nome em questão. Se existir, você recebe um aviso e o uti­li­za­dor não é subs­ti­tuído. Se o uti­li­za­dor não existir, é criado um novo.

Ir para o menu principal