Curso de MySQL – Gerenciamento de Usuários do sistema – Criar, Consultar, Renomear e Excluir
Índice:
- Antes de você começar
- Crie um novo banco de dados MySQL
- Listar todos os bancos de dados MySQL
- Excluir um banco de dados MySQL
- Crie uma nova conta de usuário MySQL
- Alterar uma senha da conta de usuário do MySQL
- Listar todas as contas de usuário do MySQL
- Excluir conta de usuário do MySQL
- Conceder permissões a uma conta de usuário MySQL
- Revogar permissões de uma conta de usuário MySQL
- Exibir privilégios de conta de usuário MySQL
- Conclusão
O MySQL é o sistema de gerenciamento de banco de dados relacional de código aberto mais popular. O servidor MySQL nos permite criar vários usuários e bancos de dados e conceder privilégios apropriados para que os usuários possam acessar e gerenciar bancos de dados.
Este tutorial explica como usar a linha de comando para criar e gerenciar bancos de dados e usuários MySQL ou MariaDB.
Antes de você começar
Antes de começar com este tutorial, estamos assumindo que você já possui o servidor MySQL ou MariaDB instalado no seu sistema. Todos os comandos serão executados como um usuário root.
Para abrir o prompt do MySQL, digite o seguinte comando e digite a senha do usuário root do MySQL quando solicitado:
Crie um novo banco de dados MySQL
Para criar um novo banco de dados MySQL, execute o seguinte comando, substitua
database_name
pelo nome do banco de dados que você deseja criar:
CREATE DATABASE database_name;
Query OK, 1 row affected (0.00 sec)
ERROR 1007 (HY000): Can't create database 'database_name'; database exists
Para evitar erros se o banco de dados com o mesmo nome que você está tentando criar existir, você pode usar o seguinte comando:
CREATE DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec)
Na saída acima,
Query OK
significa que a consulta foi bem-sucedida e
1 warning
nos diz que o banco de dados já existe e que nenhum novo banco de dados foi criado.
Listar todos os bancos de dados MySQL
Você pode listar todos os bancos de dados existentes em nosso servidor MySQL ou MariaDB com o seguinte comando:
SHOW DATABASES;
A saída será mais ou menos assim:
+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
Os bancos de dados
information_schema
,
mysql
,
performance_schema
e
sys
são criados no momento da instalação e estão armazenando informações sobre todos os outros bancos de dados, configuração do sistema, usuários, permissões e outros dados importantes. Esses bancos de dados são necessários para a funcionalidade adequada da instalação do MySQL.
Excluir um banco de dados MySQL
Excluir um banco de dados MySQL é tão simples quanto executar um único comando. Esta é uma ação não reversível e deve ser executada com cautela. Verifique se você não está removendo um banco de dados errado, pois depois de excluí-lo, ele não poderá ser recuperado.
Para excluir um MySQL ou MariaDB, o banco de dados execute o seguinte comando:
DROP DATABASE database_name;
Query OK, 0 rows affected (0.00 sec)
ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist
Para evitar esse erro, você pode usar o seguinte comando:
DROP DATABASE IF EXISTS database_name;
Crie uma nova conta de usuário MySQL
Uma conta de usuário no MySQL consiste em uma parte de nome de usuário e nome de host.
Para criar uma nova conta de usuário MySQL, execute o seguinte comando, substitua 'database_user' pelo nome do usuário que você deseja criar:
CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';
No comando acima, definimos a parte do nome do host como
localhost
que significa que este usuário poderá conectar-se ao servidor MySQL apenas a partir do localhost (ou seja, do sistema em que o MySQL Server é executado). Se você deseja conceder acesso de outro (s) host (s), altere o
localhost
com o IP da máquina remota ou use
'%'
curinga
'%'
para a parte do host, o que significa que a conta do usuário poderá se conectar a partir de qualquer host.
Igual ao trabalhar com os bancos de dados para evitar um erro ao tentar criar uma conta de usuário que já existe, você pode usar:
CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Alterar uma senha da conta de usuário do MySQL
A sintaxe para alterar uma senha de conta de usuário MySQL ou MariaDB depende da versão do servidor que você está executando no seu sistema.
Você pode encontrar a versão do servidor emitindo o seguinte comando:
mysql --version
ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';
SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');
Nos dois casos, a saída deve ficar assim:
Query OK, 0 rows affected (0.00 sec)
Listar todas as contas de usuário do MySQL
Você pode listar todas as contas de usuário MySQL ou MariaDB consultando a tabela
mysql.users
:
SELECT user, host FROM mysql.user;
A saída deve ser semelhante à abaixo:
+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)
Excluir conta de usuário do MySQL
Para excluir uma conta de usuário, use o seguinte comando:
DROP USER 'database_user@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'
O mesmo que ao trabalhar com os bancos de dados para evitar o erro que você pode usar:
DROP USER IF EXISTS 'database_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Conceder permissões a uma conta de usuário MySQL
Existem vários tipos de privilégios que podem ser concedidos a uma conta de usuário. Você pode encontrar uma lista completa de privilégios suportados pelo MySQL aqui. Neste guia, passaremos por vários exemplos:
Para obter todos os privilégios de uma conta de usuário em um banco de dados específico, use o seguinte comando:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Para obter todos os privilégios de uma conta de usuário em todos os bancos de dados, use o seguinte comando:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
Para obter todos os privilégios de uma conta de usuário em uma tabela específica de um banco de dados, use o seguinte comando:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
Revogar permissões de uma conta de usuário MySQL
REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Exibir privilégios de conta de usuário MySQL
Para encontrar os privilégios concedidos a uma conta de usuário específica do MySQL, digite:
SHOW GRANTS FOR 'database_user'@'localhost';
+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
Conclusão
Este tutorial aborda apenas o básico, mas deve ser um bom começo para quem deseja aprender como gerenciar bancos de dados e usuários MySQL na linha de comando. Você também pode verificar o tutorial sobre como redefinir uma senha root do MySQL, caso a tenha esquecido.
Isso é tudo! Se você tiver alguma dúvida ou comentário, fique à vontade para deixar um comentário.
mysql mariadbOs europeus provavelmente usarão mais dados móveis do que os EUA, diz Cisco Os europeus provavelmente usarão mais dados móveis do que os EUA, de acordo com O tráfego de dados móveis deve dobrar a cada ano nos próximos cinco anos, impulsionado pelos serviços de vídeo, e os usuários mais pesados provavelmente serão europeus, de acordo com a Cisco Systems, que acaba de publicar uma atualização de seus dados. Previsão de tráfego de dados do Visual Networking Index.
Na Europa, mesmo aqueles com os aparelhos de dados mais primitivos, sem uma conexão 3G, provavelmente consumirão mais de 18MB de dados por mês até 2013, mais que o dobro de seus equivalentes nos EUA , de acordo com a Cisco. No ano passado, o número foi de apenas 800KB na Europa, e 400KB nos EUA
Como criar um banco de dados mysql no linux via linha de comando
Este tutorial explica como usar a linha de comando para criar bancos de dados MySQL ou MariaDB.
Como excluir um banco de dados mysql no linux via linha de comando
Este tutorial descreve como excluir (ou excluir) um banco de dados MySQL ou MariaDB através da linha de comando.







