Skip to main content

Gerenciar usuários e permissões

Antes de começar a gerenciar usuários e permissões no MySQL, é importante garantir que você tenha acesso a um banco de dados MySQL e a uma Virtual Machine (VM), ambos provisionados na mesma região das disponíveis na Magalu Cloud. Devido ao fato de o banco de dados MySQL na Magalu Cloud possuir um endereço IPv4 privado, é necessário utilizar uma VM como um "jump host" para acessar o banco de dados. Utilizar a mesma região para o banco de dados e a VM minimiza a latência e maximiza a eficiência da comunicação entre os dois. Além disso, assegurar que ambos estão na mesma região ajuda a evitar custos adicionais de tráfego de rede entre regiões diferentes e melhora a performance geral do sistema.

1. Criar um novo usuário

Considerando que você já esta conectado a instância do banco de dados que deseja criar o usuário, rode o comando:

CREATE USER 'newuser'@'host' IDENTIFIED BY 'password';

Substitua:

  • “newuser” pelo nome de usuário do novo usuário.
  • “host” pelo host a partir do qual o usuário pode se conectar (por exemplo, localhost ou % para qualquer host).
  • “password” pela senha que o novo usuário fará uso.

Para conceder permissões:

GRANT ALL PRIVILEGES ON `database-name`.* TO 'newuser'@'host';
FLUSH PRIVILEGES;

Substitua:

  • “database_name” pelo nome do banco de dados que o usuário poderá ter acesso.
  • “newuser” pelo nome de usuário do novo usuário.
  • “host” pelo host a partir do qual o usuário pode se conectar (por exemplo, localhost ou % para qualquer host).

2. Listar usuários existentes

Para listar os usuários existentes, use o seguinte comand:

  Select User, host from mysql.user;

3. Modificar permissões de usuário

Para conceder privilégios específicos:

GRANT SELECT, INSERT, UPDATE ON `database_name`.* TO 'newuser'@'host';
FLUSH PRIVILEGES;

Substitua:

  • “database_name” pelo nome do banco de dados que o usuário poderá ter acesso.
  • “newuser” pelo nome de usuário do novo usuário.
  • “host” pelo host a partir do qual o usuário pode se conectar (por exemplo, localhost ou % para qualquer host).

Para revogar privilégios:

REVOKE DELETE ON `database_name`.* FROM 'newuser'@'host';
FLUSH PRIVILEGES;

Substitua:

  • “database_name” pelo nome do banco de dados que o usuário poderá ter acesso.
  • “newuser” pelo nome de usuário do novo usuário.
  • “host” pelo host a partir do qual o usuário pode se conectar (por exemplo, localhost ou % para qualquer host).

4. Listar usuários existentes

Para listar usuários existentes em um banco de dados MySQL, use o seguinte comando SQL:

select User, host from mysql.user;

5. Excluir um usuário

Para excluir um usuário:

DROP USER 'username'@'host';

Substitua:

  • “newuser” pelo nome de usuário do novo usuário.
  • “host” pelo host a partir do qual o usuário pode se conectar (por exemplo, localhost ou % para qualquer host).