# CREATE USER no MariaDB: como criar novos utilizadores

`CREATE USER` permite criar novos utilizadores no MariaDB. Se quiser adicionar um novo utilizador, precisa de permissões de administrador. Pode atribuir permissões de utilizador 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 utilizador. A seguir, mostramos os passos que deve seguir para o fazer.

### Passo 1: conecte-se ao MariaDB

O novo utilizador é criado diretamente no MariaDB. Para estabelecer a ligação, basta abrir a linha de comandos do MariaDB e aceder com o seu nome de utilizador e palavra-passe. É importante que a conta correspondente tenha permissões de administrador.

### Passo 2: utilize `CREATE USER`

Agora utilize `CREATE USER` para criar um novo utilizador no MariaDB. A sintaxe da instrução correspondente é a seguinte:

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

Em vez do marcador de posição «nome\_de\_utilizador», introduza o nome de utilizador que desejar. O nome de utilizador deve ser único no ambiente do servidor. Substitua «hostname» pelo nome do host correspondente ou pelo endereço IP do seu servidor e, por último, defina uma [palavra-passe segura](https://www.ionos.com/pt-pt/digitalguide/servidores/seguranca/passwortsicherheit/) para a conta.

### Passo 3: atribuir permissões de utilizador

O próximo passo é atribuir as permissões necessárias ao novo utilizador. As permissões definem o que um utilizador pode fazer no sistema. A seguir, encontrará uma explicação mais detalhada sobre as permissões do utilizador. Para atribuir permissões, utiliza-se a instrução `GRANT`. A sua sintaxe é a seguinte:

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

Após a sentença `GRANT`, indique as permissões que a conta correspondente deve receber, separadas por vírgulas. “base\_datos.tabla” pode referir-se a uma base de dados específica ou a tabelas individuais. Também pode utilizar `*.*` para fazer referência a todo o sistema. Em vez do marcador de posição “nombre\_usuario@hostname”, utilize o nome de utilizador e o nome do host do novo utilizador.

### Passo 4: aplique as permissões de utilizador

Depois de atribuir as permissões, utilize o comando `FLUSH PRIVILEGES` para aplicá-las diretamente. O comando tem o seguinte aspecto:

```sql
FLUSH PRIVILEGES;
```

### Passo 5: inicie sessão

O novo utilizador já pode iniciar sessão no servidor MariaDB, uma vez que lhe foram atribuídas as permissões de utilizador. Para tal, basta introduzir o seu nome de utilizador e a palavra-passe atribuída. Para eliminar uma conta, pode utilizar `DROP USER` como administrador.

## Atribuir permissões de utilizador

As permissões de utilizador, também conhecidas como «privilégios» em inglês, determinam quais ações podem ser realizadas com uma conta no MariaDB. Enquanto o utilizador administrador tem todas as permissões, as permissões de outros utilizadores devem ser limitadas para evitar problemas de segurança. As permissões de utilizador habituais são as seguintes:

- `ALL`: atribui à conta todas as permissões, exceto `GRANT OPTION`.
- `GRANT OPTION`: permite que a conta atribua permissões a outros utilizadores.
- `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 permissões do utilizador posteriormente, utilize a instrução `REVOKE`. Utilize a instrução `SHOW GRANTS FOR` para obter uma visão geral das permissões atribuídas.

## `OR REPLACE` e `IF NOT EXISTS`

Se tentar criar um novo utilizador no MariaDB com `CREATE USER` e já existir um utilizador 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:

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

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

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

O sistema verifica se já existe um utilizador com esse nome. Se existir, a **conta antiga é substituída pela nova**. Se o utilizador não existir, é criado um novo.

A sintaxe do `IF NOT EXISTS` é a seguinte:

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

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 utilizador não é substituído**. Se o utilizador não existir, é criado um novo.

Dica No nosso Guia Digital, pode encontrar ainda mais informações sobre o sistema de gestão de bases de dados de código aberto. Entre outras coisas, explicamos como funcionam as instruções [MariaDB CREATE DATABASE](https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-base-de-dados/) e [MariaDB CREATE TABLE](https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-tabela/), as diferenças e semelhanças entre MariaDB e MySQL e como instalar MariaDB.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-utilizador/](https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-utilizador/) for AI/LLM consumption.