Aprendendo MySQL - Primeiros passos – parte 2
Olá, continuando com o estudo do MySQL vamos ver como criar um usuário no MySQL Shell, como ponto de partida, estamos logados como usuário ‘root’ e o modo de comando selecionado como SQL. No meu artigo anterior mostro como fazer estes primeiros passos.
Vamos usar o comando CREATE USER <nome do novo usuário> IDENTIFIED BY <senha do novo usuário>:
MySQL localhost:33060+ ssl SQL > CREATE USER 'usuarioteste'@'localhost' IDENTIFIED BY 'senhateste';
Query OK, 0 rows affected (0.4204 sec)
MySQL localhost:33060+ ssl SQL >
Agora temos o usuário “usuarioteste” criado. @'localhost' significa o computador onde o MySQL está rodando. No MySQL os usuários ficam na tabela ‘mysql.user’. Para ver todos os usuários cadastrados podemos usar o comando SELECT ... FROM (veremos este comando em detalhes mais adiante) :
MySQL localhost:33060+ ssl SQL > SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| usuarioteste | localhost |
+------------------+-----------+
7 rows in set (0.0041 sec)
MySQL localhost:33060+ ssl SQL >
E vemos que o usuário ‘usuarioteste’ criado no passo anterior, assim como o usuário ‘root’, já aparecem nesta tabela. Por padrão os novos usuários são criados sem nenhuma permissão.
Para conceder permissões ao usuário usamos o comando GRANT PRIVILEGES ON <database.object> TO <usuario> ; por exemplo:
MySQL localhost:33060+ ssl SQL > GRANT ALL PRIVILEGES ON sakila.* TO 'usuarioteste'@'localhost';
Query OK, 0 rows affected (0.0801 sec)
Neste comando concedemos ao usuário 'usuarioteste' todos os privilégios de acesso ao banco de dados ‘sakila’, este é um banco de dados exemplo que vem com a instalação padrão do MySQL.
Para verificar que o usuário 'usuarioteste' tem acesso ao banco ‘sakila’ usamos o comando:
MySQL localhost:33060+ ssl SQL > SELECT User FROM mysql.db WHERE Db = 'sakila';
+--------------+
| User |
+--------------+
| usuarioteste |
+--------------+
1 row in set (0.0007 sec)
E vemos uma tabela com os usuários que tem acesso ao banco de dados ‘sakila’.
Para remover um usuário usamos o comado DROP USER
MySQL localhost:33060+ ssl SQL > DROP USER 'usuarioteste'@'localhost';
Query OK, 0 rows affected (0.1681 sec)
E assim o ‘usuarioteste ‘ já não existe mais.
Vale ainda lembrar que no MySQL powershell temos um help que pode ser acessado com o comando:
MySQL localhost:33060+ ssl SQL >\help;
Ou para um comando específico, por exemplo:
MySQL localhost:33060+ ssl SQL > \? create user;
o Syntax:
o CREATE USER [IF NOT EXISTS]
o user [auth_option] [, user [auth_option]] ...
o DEFAULT ROLE role [, role ] ...
o [REQUIRE {NONE | tls_option [[AND] tls_option] ...}]
o [WITH resource_option [resource_option] ...]
o [password_option | lock_option] ...
o [COMMENT 'comment_string' | ATTRIBUTE 'json_object']
o user:
o ....
o URL: https://dev.mysql.com/doc/refman/8.0/en/create-user.html
Note que neste caso na última linha vem o link que se aberto no navegador vai apresentar uma interface gráfica muito mais fácil de ser lida. O material apresentado é muito completo e rico em informações.
Até breve!