Como criar um novo usuário e conceder permissões em mysql

Como criar um novo usuário e conceder permissões em mysql

Mysql é um sistema de gerenciamento de banco de dados popular e amplamente usado que armazena e organiza dados e permite que os usuários o recuperem. Ele vem com uma vasta gama de opções que concedem aos usuários certas permissões a tabelas e bancos de dados.

Neste guia, você aprenderá como criar um novo usuário e conceder permissões no Mysql base de dados.

Como criar um novo usuário em mysql

Para criar um novo usuário, faça login no shell MySQL.

$ sudo mysql -u root -p 

Forneça a senha do sudo seguida pela senha que fornecia ao configurar o banco de dados MySQL e acertar DIGITAR. Depois disso, você receberá este prompt.

Conecte -se ao shell mysql

Para criar um novo usuário, use a sintaxe mostrada abaixo:

Mariadb [nenhum]> criar usuário 'novo usuário'@' localhost 'identificado por'senha'; 

Por exemplo, para criar um novo usuário chamado 'Tecmint'Dentro do banco de dados, invocar o comando:

Mariadb [nenhum]> criar usuário 'Tecmint'@' localhost 'identificado por'QKYKMW $ 5TEC'; 

Alguns pontos a serem lembrados

Ao adicionar um usuário localmente eu.e., no sistema que você instalou Mysql, o host do usuário é especificado como LocalHost, e não o endereço IP. A palavra -chave 'LocalHost'traduz para'este computador'E MySQL trata isso de maneira única. Basicamente, o localhost é usado pelo cliente MySQL para estabelecer uma conexão com o servidor de banco de dados MySQL instalado localmente.

Até agora, o Tecmint O usuário não tem nenhuma permissões para interagir com os bancos de dados. De fato, o usuário nem consegue acessar o shell MySQL.

Para conceder ao usuário acesso total a todos os bancos de dados, incluindo as tabelas, execute.

Mariadb [nenhum]> conceda todos os privilégios * . * PARA 'Tecmint'@' localhost '; 

No comando acima, os asteriscos apontam para o banco de dados e a tabela, respectivamente, que o usuário pode acessar. Ele concede ao usuário todos os direitos no banco de dados - ler, escrever, editar, e executar incluindo executar todas as tarefas em outros bancos de dados e tabelas também.

Até agora, concedemos ao usuário acesso total ao banco de dados. Embora isso seja útil em explicar os conceitos MySQL, geralmente não é recomendado, pois pode representar um risco de segurança para seus bancos de dados. Basta pensar no que pode acontecer se um hacker segurasse a senha do usuário. Procederemos adiante e discutiremos como atribuir permissões específicas na próxima seção.

Quando você terminar de atribuir permissões ao usuário, recarregue todos os privilégios, conforme mostrado para que as alterações entrem em vigor.

Mariadb [nenhum]> Privilégios de descarga 

Como conceder diferentes permissões de usuário

Aqui está um detalhamento das possíveis permissões que você pode conceder aos usuários:

  • Todos os privilégios - Como visto anteriormente, isso concede um usuário MySQL Acesso total a um banco de dados específico.
  • CRIAR - Permite que os usuários criem novos bancos de dados ou tabelas.
  • DERRUBAR - Permite que os usuários excluam bancos de dados ou usuários.
  • INSERIR - Permite que os usuários insira linhas em tabelas.
  • EXCLUIR - Permite que os usuários excluam linhas das tabelas.
  • Selecione - Com a permissão 'Selecionar', os usuários podem ler o conteúdo de uma tabela.
  • ATUALIZAR - Permite que os usuários atualizem as linhas em uma tabela.
  • Opção de concessão - Os usuários podem conceder ou remover os privilégios de outros usuários.

Para conceder uma permissão específica do usuário, use a sintaxe:

Mariadb [nenhum]> concede permissão_type no database_name.tabela_name para 'nome de usuário'@'localhost'; 

Além disso, você pode atribuir permissões a todas as tabelas em um banco de dados com um único símbolo de asterisco, como mostrado:

Mariadb [nenhum]> concede permissão_type no database_name.* Para 'nome de usuário'@'localhost'; 

Por exemplo, para atribuir Selecione permissões para 'Tecmint'Usuário em todas as tabelas do banco de dados testdb, execute o comando.

Mariadb [nenhum]> Grant Selecione no TestDB.* Para 'Tecmint'@'localhost'; 

Em seguida, descarregue os privilégios para que as mudanças tenham efeito.

Mariadb [nenhum]> privilégios de descarga; 
Atribuir selecionar permissões ao usuário no banco de dados

Além disso, você pode atribuir várias permissões em movimento, separando -as com uma vírgula como mostrado.

Mariadb [nenhum]> Grant INSERIR, ATUALIZAR SOBRE testdb.* PARA 'Tecmint'@' localhost '; 
Atribuir várias permissões ao banco de dados

Como revogar as permissões MySQL

Para revogar as permissões de um usuário, use a sintaxe:

Mariadb [nenhum]> revogar permissão_type SOBRE nome do banco de dados.Nome da tabela De 'nome de usuário'@'localhost'; 

Por exemplo, para revogar INSERIR Permissões do usuário 'Tecmint', execute o comando.

Mariadb [nenhum]> revogar INSERIR SOBRE testdb.* De Tecmint '@' localhost '; Mariadb [nenhum]> Privilégios de descarga 
Revogar as permissões MySQL

Para dar uma olhada nas permissões atuais de um usuário, execute:

Mariadb [Nenhum]> Show Subsídios para 'Nome de usuário'@'localhost'; 

Da saída abaixo, podemos ver que o INSERIR A permissão foi eliminada do 'Tecmint'Usuário saindo apenas Selecione e ATUALIZAR Direitos sobre o testdb base de dados.

Verifique as permissões MySQL do usuário

Para testar o login no shell do MySQL usando o novo usuário, primeiro logot.

Mariadb [nenhum]> desistir; 

Em seguida, faça o login novamente.

$ sudo mysql -u tecmint -p 

Forneça a senha do usuário e atinja DIGITAR Para acessar a concha.

Para soltar um usuário, use o DERRUBAR comando, assim como faria ao excluir um banco de dados.

Mariadb [nenhum]> soltar o usuário 'nome de usuário'@'localhost'; 

Você também pode ler os seguintes artigos relacionados ao MySQL:

  • Dicas úteis para solucionar erros comuns no MySQL
  • MYTOP - Uma ferramenta útil para monitorar o desempenho MySQL/MariaDB no Linux
  • Como alterar a porta MySQL/Mariadb padrão em Linux
  • Como redefinir a senha do MySQL ou Mariadb Root no Linux
Conclusão

Felizmente, até agora, você pode criar usuários em seus servidores de banco de dados MySQL e atribuir ou revogar confortavelmente as permissões.