Resumo : neste tutorial, você aprenderá como usar a CREATE USER
instrução MySQL para criar um novo usuário no servidor de banco de dados MySQL.
Normalmente, o MySQL cria a conta de usuário root durante a instalação. Esta conta de usuário root tem privilégios totais sobre o servidor de banco de dados MySQL, dando-lhe controle completo sobre todos os bancos de dados, tabelas, usuários e muito mais.
É uma boa prática usar a conta root exclusivamente para funções administrativas. Para outras tarefas, crie uma nova conta de usuário e conceda os privilégios necessários.
Este tutorial se concentra no uso da CREATE USER
instrução para criar um novo usuário no banco de dados MySQL.
Introdução à instrução MySQL CREATE USER
Para criar um novo usuário no banco de dados MySQL, você usa a CREATE USER
instrução.
Aqui está a sintaxe básica da CREATE USER
instrução:
CREATE USER [IF NOT EXISTS] account_name
IDENTIFIED BY 'password';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
Primeiro, especifique o nome da conta após as CREATE USER
palavras-chave. O nome da conta consiste em duas partes: username
e hostname
, separadas pelo @
sinal:
username@hostname
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
The username
é o nome do usuário enquanto the hostname
é o nome do host a partir do qual o usuário se conecta ao servidor MySQL.
A hostname
parte do nome da conta é opcional. Se você omitir o nome do host, o usuário poderá se conectar de qualquer host.
Um nome de conta sem nome de host é equivalente ao seguinte:
username@%
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Se username
e hostname
contiver caracteres especiais, como espaços ou hifens, você precisará colocar o nome de usuário e o nome do host separadamente entre aspas, assim:
'bob-cat'@'hostname'
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Além das aspas simples ( '
), você pode usar crases ( `
) ou aspas duplas ( "
).
Segundo, especifique a senha do usuário após as IDENTIFIED BY
palavras-chave.
A IF NOT EXISTS
opção cria um novo usuário somente se ele ainda não existir. Se o usuário existir, a instrução emite um aviso.
Observe que a CREATE USER
instrução cria um novo usuário sem nenhum privilégio. Para conceder privilégios ao usuário, você usa a GRANT
instrução.
Exemplo CREATE USER do MySQL
Primeiro, estabeleça uma conexão com o servidor MySQL usando a ferramenta cliente mysql com a conta de usuário root:
mysql -u root -p
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Digite a senha da root
conta e pressione Enter
:
Enter password: ********
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Segundo, mostre os usuários no servidor MySQL atual:
SELECT
user
FROM
mysql.user;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída:
+------------------+
| user |
+------------------+
| mysql.infoschema |
| mysql.saession |
| mysql.sys |
| root |
+------------------+
Terceiro, crie um novo usuário chamado bob
:
create user bob@localhost
identified by 'Secure1pass!';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Quarto, mostre novamente a todos os usuários:
select user from mysql.user;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A saída será:
+------------------+
| user |
+------------------+
| bob |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
+------------------+
5 rows in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
A saída indica que o usuário com o nome bob
foi criado com sucesso.
Quinto, abra uma segunda sessão e faça login no servidor de banco de dados MySQL com o usuário bob
:
mysql -u bob -p
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Insira a senha bob
e pressione Enter
:
Enter password: ********
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Sexto, mostre os bancos de dados que bob
tem acesso:
show databases;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a lista de bancos de dados que bob
podem acessar:
+--------------------+
| Database |
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
2 rows in set (0.01 sec)
Linguagem de código: JavaScript ( javascript )
Sétimo, vá até a sessão do usuário root
e crie um novo banco de dados chamado bobdb
:
create database bobdb;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Oito, selecione o banco de dados bobdb
:
use bobdb;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nono, crie uma nova tabela chamada todos
:
create table todos(
id int auto_increment primary key,
title varchar(255) not null,
completed bool default false
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Décimo, conceda todos os privilégios bobdb
a bob
:
grant all privileges on bobdb.* to bob@localhost;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Observe que você aprenderá como conceder privilégios a um usuário no GRANT
tutorial.
Décimo primeiro, vá para a sessão do bob e exiba todos os bancos de dados:
show databases;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Agora, bob
pode ver o bobdb
:
+--------------------+
| Database |
+--------------------+
| bobdb |
| information_schema |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
Décimo segundo, selecione o banco de dados bobdb
:
use bobdb;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Décimo terceiro, mostre as tabelas do bobdb
banco de dados:
show tables;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O usuário bob
pode ver a lists
tabela:
+-----------------+
| Tables_in_bobdb |
+-----------------+
| todos |
+-----------------+
1 row in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
Décimo quarto, insira uma linha na todos
tabela:
insert into todos(title)
values('Learn MySQL');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Décimo quinto, consulte os dados da lists
tabela:
select * from todos;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Esta é a saída:
+----+-------------+-----------+
| id | title | completed |
+----+-------------+-----------+
| 1 | Learn MySQL | 0 |
+----+-------------+-----------+
1 row in set (0.00 sec)
Linguagem de código: JavaScript ( javascript )
Assim o usuário bob
pode fazer tudo com o bobdb
banco de dados.
Finalmente, desconecte-se do servidor MySQL de ambas as sessões:
exit
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
CREATE USER
instrução para criar um novo usuário no servidor de banco de dados MySQL.