anúncios

Mostrando postagens com marcador MariaDB. Mostrar todas as postagens
Mostrando postagens com marcador MariaDB. Mostrar todas as postagens

quinta-feira, 19 de junho de 2025

Encriptação de Dados Sensíveis no MySQL

Quando lidamos com dados sensíveis, como CPF, telefone ou informações bancárias de usuários, a segurança da informação torna-se um dos pilares mais importantes de um sistema. Uma prática fundamental é armazenar esses dados de forma encriptada no banco de dados.

Exemplo prático: Encriptação de CPF no MySQL

Considere a seguinte estrutura de tabela:


CREATE TABLE clientes (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nome VARCHAR(100),
    cpf VARBINARY(255)
);

Como funciona a encriptação com AES_ENCRYPT

O MySQL oferece a função AES_ENCRYPT(valor, chave) para encriptar dados. Aqui:

  • valor:
  • é o dado sensível que queremos proteger (por exemplo, o CPF).

  • chave:
  • é uma senha secreta utilizada no processo de encriptação e decriptação. Importante: A chave nunca deve ser armazenada dentro da própria base de dados. O ideal é mantê-la em um arquivo de configuração da aplicação ou em um gerenciador de segredos (Vault, AWS Secrets Manager, etc).

  • Recomendações sobre a chave:
  • A chave de encriptação deve ter pelo menos 16 bytes para evitar warnings e garantir maior segurança.

Exemplo de inserção de dados encriptados:


INSERT INTO clientes (nome, cpf) 
      VALUES ('Bjorn', 
             AES_ENCRYPT('123.456.789-00', 
             'chave_secreta_16b'));

Como realizar a decriptação dos dados:

Para visualizar os dados de forma legível, usamos a função AES_DECRYPT(coluna, chave):


SELECT nome, 
       CONVERT(AES_DECRYPT(cpf, 'chave_secreta_16b') 
       USING utf8) AS cpf 
FROM clientes;

Dica:

É recomendado sempre usar o CONVERT(... USING utf8) para transformar o resultado binário em texto legível.

Considerações importantes

Consistência nos dados:

Tentar decriptar dados que não foram previamente encriptados com AES causará erros ou retornará valores nulos. Garanta que todos os dados sensíveis sejam sempre armazenados de forma encriptada.

Conformidade com a LGPD:

A prática de encriptar dados sensíveis está totalmente alinhada com a LGPD (Lei Geral de Proteção de Dados).

Em caso de um eventual vazamento de dados, as informações estarão ilegíveis para qualquer atacante que não possua a chave de encriptação.

Boas práticas de segurança:

Infelizmente, ainda vemos notícias frequentes de vazamentos de bases de dados de órgãos públicos e grandes empresas. Muitas vezes, os dados estavam armazenados de forma simples e sem criptografia.

Uma política mínima de encriptação já evitaria que tais informações pudessem ser lidas por terceiros não autorizados.

Compatibilidade com MariaDB

As funções AES_ENCRYPT() e AES_DECRYPT() também são suportadas pelo MariaDB, garantindo boa compatibilidade com as versões do MySQL até a 5.7.

Porém, vale uma atenção especial para quem trabalha com MySQL 8.x ou superior, pois algumas mudanças foram introduzidas no modo de criptografia padrão (exemplo: modo de padding e modo de operação AES).

Recomendações ao usar entre MySQL e MariaDB:

Teste a criptografia e decriptação em ambos os ambientes.

Utilize sempre chaves com no mínimo 16 bytes.

Valide se o modo de operação AES é o mesmo entre as versões.

Evite migrações diretas de bases encriptadas entre MySQL 8.x e MariaDB sem testes prévios.

Considerações finais

A segurança de dados não deve ser tratada como um recurso opcional. Encriptar informações sensíveis no banco de dados é uma obrigação para qualquer sistema que armazene dados pessoais.

Com poucas alterações na modelagem e nas queries SQL, já é possível implementar uma camada extra de proteção.

Se você ainda não aplica encriptação de dados sensíveis no seu banco de dados no SGBD MySQL ou MariaDB, o momento de começar é agora.

Feito!

quarta-feira, 13 de novembro de 2024

Comparativo entre MySQL e MariaDB: Aprenda como usá-los em containers Docker com DBeaver

MySQL e MariaDB são dois dos bancos de dados relacionais mais populares no mercado, amplamente usados em sistemas de produção. Ambos são Sistemas de Gerenciamento de Banco de Dados (SGBDs) que suportam operações complexas e escaláveis, atendendo a várias necessidades de armazenamento e manipulação de dados. Porém, eles têm diferenças notáveis, desde seu licenciamento até características de desempenho e inovação.

Neste artigo, vamos explorar as diferenças entre MySQL e MariaDB, explicar suas origens e uso, e demonstrar como configurar ambos em containers Docker para facilitar o desenvolvimento e o gerenciamento de banco de dados. Também abordaremos como conectá-los ao DBeaver para visualização e administração.

O que é um banco de dados e um SGBD?

Um banco de dados é uma coleção organizada de dados que permite o armazenamento e a recuperação rápida de informações. Para gerenciar, organizar e manipular esses dados de forma eficiente, usamos um Sistema de Gerenciamento de Banco de Dados (SGBD), que é um software que interage com os dados e com o usuário, facilitando operações como consultas, atualizações e análises.

Existem dois tipos principais de banco de dados:

Relacionais: Organizam os dados em tabelas com colunas e linhas, como o MySQL, MariaDB, PostgreSQL, Oracle, MS SQL Server. São ideais para dados estruturados e complexos.

NoSQL: São não-relacionais e oferecem maior flexibilidade para trabalhar com dados sem estrutura rígida, como JSON ou dados hierárquicos. Exemplos incluem MongoDB, Cassandra.

MySQL vs MariaDB:

MySQL foi desenvolvido inicialmente pela empresa sueca MySQL AB e se tornou rapidamente popular por sua velocidade e simplicidade. Em 2008, foi adquirido pela Oracle, o que gerou preocupação na comunidade de código aberto sobre o futuro do projeto. Em resposta, Michael Widenius, um dos fundadores do MySQL, criou um fork chamado MariaDB, que manteve o foco em ser completamente livre e aberto, além de adicionar inovações.

Principais Diferenças entre MySQL e MariaDB

Característica MySQL MariaDB
Licenciamento GPL para Community Edition e versão comercial pela Oracle GPL, totalmente de código aberto
Mecanismo de Armazenamento InnoDB Aria (padrão) e InnoDB opcional
Replicação e Clustering Replicação Master-Slave, Master-Master Suporta Galera Cluster para replicação síncrona
Suporte JSON Suporte nativo Suporte nativo e melhorias de desempenho
Otimizações de Desempenho Foco em InnoDB e otimizações internas Aria, cache de subconsultas e consultas paralelas otimizadas
Recuperação de Crashes InnoDB com recuperação automática Aria com recuperação rápida e segura
Novos Recursos Suporte a JSON e novos tipos de dados Compatibilidade com PL/SQL e ColumnStore
Atualizações e Inovações Focada em estabilidade com novas funcionalidades controladas Atualizações frequentes com inovações rápidas

Instalando e executando o MySQL E MariaDB no Docker

Execute no terminal Linux (Debian e derivados), se caso ainda não tiver o Docker instalado.

$ sudo apt update

$ sudo apt install docker.io docker-compose

Caso você ainda usa Windows, então segue os procedimentos para poder conseguir reproduzir os procedimentos desse artigo no seu computador Janeleiro!

Habilitar o WSL2:

Abra o PowerShell como administrador e execute:

wsl --install

O comando acima instala automaticamente o WSL e a versão Ubuntu padrão. Caso queira instalar uma distribuição específica, como o Ubuntu LTS, ela pode ser encontrada na Microsoft Store.

Configurar o WSL2:

Verifique a versão do WSL para garantir que é o WSL2. Para isso, execute:

wsl --set-default-version 2

Isso configura o WSL para rodar como WSL2 por padrão, o que melhora a performance e compatibilidade com o Docker.

Instalar o Docker Desktop

Baixe e instale o Docker Desktop para Windows. Durante a instalação, marque a opção para Usar WSL2 em vez de Hyper-V.

Depois de instalado, o Docker Desktop detectará automaticamente o WSL2, permitindo executar containers diretamente no ambiente Ubuntu do WSL.

Com o Docker configurado, você poderá seguir os mesmos comandos descritos no artigo para executar containers de MySQL e MariaDB usando o terminal do Ubuntu no WSL2.

Para desenvolvedores que buscam um ambiente mais próximo dos servidores de produção e com maior controle do sistema, migrar para uma distribuição Linux pode ser uma excelente opção. Muitos profissionais encontram no Linux uma plataforma robusta e personalizável para desenvolvimento!

Configurando MySQL e MariaDB com Docker

O uso de Docker para configurar e executar MySQL e MariaDB em containers é uma prática cada vez mais comum. Docker simplifica o processo de instalação e oferece portabilidade, ideal para ambientes de desenvolvimento e testes.

Executando MySQL com Docker

Para criar um container Docker para MySQL, execute:

docker run --name mysql-docker -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_DATABASE=banco1 -p 3306:3306 -v mysql_data:/var/lib/mysql -d mysql:latest

Executando MariaDB com Docker

Para iniciar MariaDB em um container, use:

docker run --name mariadb-container -e MARIADB_ROOT_PASSWORD=secret -e MARIADB_DATABASE=banco2 -p 3307:3306 -v mariadb_data:/var/lib/mysql -d mariadb:latest

Conectando ao MySQL e MariaDB com DBeaver

DBeaver é uma ferramenta gráfica popular para gerenciar SGBDs, incluindo MySQL e MariaDB.

Execute no terminal Linux (Debian e derivados), se ainda não tiver instalado o DBeaver.

$ sudo apt install dbeaver-ce

Configurando conexão com MySQL no DBeaver

No DBeaver, vá em Database > New Database Connection.

Escolha MySQL na lista e configure:

Host: 127.0.0.1

Porta: 3306

Database: banco1

Username: root

Password: secret

Clique em Test Connection para verificar se a conexão com o container MySQL está funcionando.

Configurando conexão com MariaDB no DBeaver

No DBeaver, vá em Database > New Database Connection.

Escolha MariaDB e configure:

Host: 127.0.0.1

Porta: 3307

Database: banco2

Username: root

Password: secret

Após a configuração, você poderá gerenciar ambos os bancos de dados diretamente pelo DBeaver.

Clique em Test Connection para verificar a conexão com o container MariaDB.

Considerações finais

Tanto MySQL quanto MariaDB oferecem recursos poderosos e são amplamente utilizados em aplicações de produção. MariaDB é a escolha mais flexível e totalmente aberta, enquanto MySQL continua popular devido ao suporte e estabilidade oferecidos pela Oracle. A escolha entre MySQL e MariaDB depende das necessidades específicas do seu projeto, especialmente em relação ao licenciamento e aos recursos avançados. A configuração de ambos via Docker é simples e oferece um ambiente isolado para testes, desenvolvimento e operação.

Feito!

quarta-feira, 12 de agosto de 2020

Instalando e Configurando a stack LEMP no CentOS

O que é LEMP?

O termo LEMP é a junção do sistema operacional Linux, servidor web Nginx, SGBD MySQL e a linguagem PHP, formando o ambiente PHP completo.

Atualize o repositório

# yum update
# yum install epel-release

Instalação dos pacotes LEMP


# yum install nginx mariadb-server mariadb php php-mysql php-pdo php-cli php-curl php-fpm php-mbstring php-xml

Ajuste de configuração do MySQL


# mysql_secure_installation

Pressione Y e ENTER para aceitar as configuração padrão para todas as perguntas. Isso irá remover alguns usuários anônimos e o banco de dados teste, desativará os logins remotos ao root, e carregará essas novas regras do MySQL/MariaDB.

Inicializar os serviços e habilitar no boot do Nginx e MySQL


Nginx

# systemctl start nginx
# systemctl enable nginx

MySQL/MariaDB

# systemctl start mariadb
# systemctl enable mariadb

O CentOS vem com firewall habilitado e precisa liberar a porta 80 para acessar o servidor

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload

Edite o arquivo /etc/php-fpm.d/www.conf, substituir em user e group de apache por nginx, conforme abaixo:

; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

Por padrão, php-fpm irá escutar em um host e porta específicos sobre TCP. Queremos alterar essa configuração para que ela ouça um arquivo de socket local, pois isso melhora o desempenho geral do servidor.

Altere a linha que contém a diretiva de escuta no arquivo /etc/php-fpm.d/www.conf para o seguinte:

listen = /var/run/php-fpm/php-fpm.sock;

Por fim, no mesmo arquivo, altere a configuração do dono e grupo no socket definido na diretiva listen. Pesquise as diretivas listen.owner, listen.group e listen.mode. Por padrão essas linhas estão comentadas. Descomente, removendo o ; dessas linhas e altere para nginx, conforme abaixo:

listen.owner = nginx listen.group = nginx listen.mode = 0660

Habilitar o PHP-FPM


# systemctl start php-fpm

Configuração do Nginx para o processo PHP


# vim /etc/nginx/conf.d/default.conf

server {
    listen       80;
    server_name  server_domain_or_IP;

    root   /var/www/html
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
        root /var/www/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Reinicie o serviço Nginx


# systemctl restart nginx

Criar o arquivo info.php para testar a execução do PHP

# vim /var/www/html/info.php

 <?php 
  phpinfo();

ESC+x (salva e sai do editor Vim)

No browser acesse http://IPSERVIDOR/info.php

Feito!

segunda-feira, 10 de agosto de 2020

Instalando e Configurando a stack LEMP no Debian

O que é LEMP?

O termo LEMP é a junção do sistema operacional Linux, servidor web Nginx, SGBD MySQL e a linguagem PHP, formando o ambiente PHP completo.

Atualize o repositório

# apt update

Instalação dos pacotes LEMP


# apt install nginx mariadb-server php php-mysql php-pdo php-cli php-xml php-mbstring php-fpm

Ajuste de configuração do MySQL


# mysql_secure_installation

Pressione Y e ENTER para aceitar as configuração padrão para todas as perguntas. Isso irá remover alguns usuários anônimos e o banco de dados teste, desativará os logins remotos ao root, e carregará essas novas regras do MySQL/MariaDB.

Alterar a ordem dos arquivos que o servidor web Apache entenda primeiro.

# vim /etc/nginx/sites-available/default

Adicione index.php, conforme abaixo:

index index.php index.html index.htm index.nginx-debian.html;

Em seguida, na sessão locations ~.php$, deixe conforme abaixo, substituindo o X pela versão do PHP que foi instalado.

Para verificar a versão do PHP, no terminal digite: php --version

location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.X-fpm.sock;
# With php-cgi (or other tcp sockets):
fastcgi_pass 127.0.0.1:9000;
}

ESC+x (salva e sai do editor Vim)

Modifique o valor para o parâmetro cgi.fix_pathinfo do arquivo /etc/php/php-X/fpm/php.ini

# vim /etc/php/7.X/fpm/php.ini
cfgi.fix_pathinfo=0

ESC+x (salva e sai do editor Vim)

Reload no Nginx e PHP FPM

# systemctl reload nginx # systemct reload php7.X-fpm

Criar o arquivo info.php para testar a execução do PHP

O diretório padrão do DocumentRoot no Apache é /var/www/html

# vim /var/www/html/info.php < ?php
phpinfo();

ESC+x (salva e sai do editor Vim)

Permissão para o usuário e grupo no /var/www/html no Debian é www-data:www-data

# chown www-data:www-data -R /var/www/html

No browser acesse http://IPSERVIDOR/info.php

Feito!

domingo, 9 de agosto de 2020

Instalando e Configurando a stack LAMP no Debian

O que é LAMP?

O termo LAMP é a junção do sistema operacional Linux, servidor web Apache, SGBD MySQL e a linguagem PHP, formando o ambiente PHP completo.

Atualize o repositório

# apt update

Instalação dos pacotes LAMP


# apt install apache2 mariadb-server php libapapache2-mod-php php-mysql php-pdo php-cli

Ajuste de configuração do MySQL


# mysql_secure_installation

Pressione Y e ENTER para aceitar as configuração padrão para todas as perguntas. Isso irá remover alguns usuários anônimos e o banco de dados teste, desativará os logins remotos ao root, e carregará essas novas regras do MySQL/MariaDB.

Alterar a ordem dos arquivos que o servidor web Apache entenda primeiro

# vim /etc/apache2/mods-enabled/dir.conf

Padrão

< IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm < /IfModule>

Coloque o index.php no primeiro, conforme abaixo:

< IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm < /IfModule>

ESC+x (salva e sai do editor Vim)

Reload no Apache


# systemctl restart apache2

Criar o arquivo info.php para testar a execução do PHP

O diretório padrão do DocumentRoot no Apache é /var/www/html

# vim /var/www/html/info.php

< ?php
phpinfo();

ESC+x (salva e sai do editor Vim)

Permissão para o usuário e grupo no /var/www/html no Debian é www-data:www-data

# chown www-data:www-data -R /var/www/html

No browser acesse http://IPSERVIDOR/info.php

Feito!

domingo, 2 de dezembro de 2018

Conhecendo o MySQL workbench

O que é MySQL workbench?

MySQL workbench é uma ferramenta exclusiva para administrar SGBD MySQL ou MariaDB (clone do MySQL) por meio da interface gráfica. Pode criar Diagrama de Entidade e Relacionamento (DER) executar querys SQL.

O MySQL wokbench está disponível para as plataformas Windows, GNU/Linux e Mac OS X

Instalação do MySQL workbench
OBS: Necessário ter o SGBD MySQL / MariaDB instalado.

Windows

No Windows, se você estiver instalando o MySQL Community Server 5.6, o MySQL Workbench é instalado no processo de instalação do próprio servidor. Baixe o arquivo .msi apropriado da página de download do MySQL, execute-o e siga as instruções.

Depois de instalá-lo com sucesso, quando você inicia, você obtém conforme o screenshot a seguir:



Você pode ver que existem três seções - Desenvolvimento SQL, Modelagem de Dados e Administração de Servidores.

Linux
Debian e Ubuntu:
# apt-get install mysql-workbench

CentOS e Fedora:
# yum install mysql-workbench-community

Screenshot MySQL workbench no Linux



Feito!

segunda-feira, 5 de novembro de 2018

Instalando MariaDB no CentOS

O que é MariaDB ?

MariaDB é um sistema gerenciador de banco de dados, fork do MySQL.

O presente howto foi testado no CentOS 7. Você deve escolhar a versão 10.2 ou 10.3 do MariaDB que deseja instalar.

Primeiramente adicionar o repositório no arquivo etc/yum.repos.d/MariaDB.repo
# vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.2 CentOS repository list - created 2018-11-03 20:15 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
OU caso preferir a versão 10.3.x
# MariaDB 10.3 CentOS repository list - created 2018-11-03 20:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
ESC + :x (salva e sai do editor Vim)

Instalação do MariaDB via repositório
# yum install MariaDB-server MariaDB-client

Feito!

sábado, 3 de novembro de 2018

Instalando o MariaDB 10.2, 10.3 no Debian

O que é MariaDB ?

MariaDB é um sistema gerenciador de banco de dados fork do MySQL.

O presente howto foi testado no Debian 9. Você deve escolhar a versão 10.2 ou 10.3 do MariaDB que deseja instalar.

MariaDB 10.2.x
# apt-get install software-properties-common dirmngr
# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
# add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.ufscar.br/mariadb/repo/10.2/debian stretch main'

Atualização do sistema
# apt-get update
Instalação do MariaDB
# apt-get install mariadb-server

MariaDB 10.3.x
# apt-get install software-properties-common dirmngr
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
# add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.ufscar.br/mariadb/repo/10.3/debian stretch main'

Atualização do sistema
# apt-get update
Instalação do MariaDB
# apt-get install mariadb-server

Feito!

sábado, 4 de novembro de 2017

Criando e atribuindo permissões para o usuário no SGBD MySQL/MariaBD

O presente post, tem como objetivo esclarecer como criar usuário e atribuir permissões para o usuário no SGBD MySQL/MariaDB.

Sobre o MySQL e MariaDB

O MySQL é um Sistema de Gerenciamento de Banco de Dados (SGBD) open source que ajuda os usuários a armazenar, organizar, e posteriormente, recuperar dados. Ele possui uma variedade de opções para conceder a usuários específicos permissões diferenciadas dentro de tabelas e bases de dados. O MariaDB é o fork do MySQL. Na maioria dos aspectos o MariaDB vai funcionar exatamente como o MySQL: todos os comandos, interfaces, bibliotecas e APIs que existem no MySQL também existem no MariaDB. Não há nenhuma necessidade de converter um bancos de dados para migrar para o MariaDB. MariaDB é um verdadeiro substituto para o MySQL.

Primeiramente precisa conectar no servidor SGBD MySQL/MariaDB: mysql -h IPSERVIDORBD -u root -p

Para criar um usuário no SGBD MySQL/MariaDB, após logar com o root é o seguinte comando:
CREATE USER `nome-usuario`@`IPServerDB` IDENTIFIED BY `password`;

Para dar uma permissão a um usuário específico, você pode utilizar esta estrutura:
GRANT [tipo de permissão] ON [nome da base de dados].[nome da tabela] TO `[nome do usuário]`@`IPServerDB`;

Se você quer dar a ele acesso a qualquer base de dados ou a qualquer tabela, certifique-se de colocar um asterisco (*) no lugar do nome da base de dados ou do nome da tabela. Cada vez que você atualizar ou mudar uma permissão certifique-se de utilizar o comando Flush Privileges.

Se você precisar revogar uma permissão, a estrutura é quase idêntica a concedê-la:
REVOKE [tipo de permissão] ON [nome da base de dados].[nome da tabela] FROM `[nome do usuário]`@`IP`;

Para adicionar permissão de leitura, inserção, atualização, exclusão, criação de tabelas/bases, remoção e alteração de tabelas/colunas para o usuário:
GRANT select, insert, update, delete, create, drop, alter ON nomeBD.* TO `nomeUsuarioBD`@`%IPMaquinaAcessoServerBD` WITH GRANT OPTION;

Para adicionar permissão geral a um usuário:
GRANT ALL PRIVILEGES ON database.* TO 'usuarioBD'@'IPServerBD' WITH GRANT OPTION;

Para visualizar as permissões que acabamos de aplicar usamos o comando:
SHOW GRANTS FOR `usuarioBD`@`%IPMaquinaAcessoServerBD`;

Se você precisar retirar todos os privilégios de um usuário do SGBD MySQL/MariaDB, pode utilizar esta estrutura:
USAGE [tipo de permissão] ON [nome da base de dados].[nome da tabela] FROM `[nome do usuário]`@`IP`;
A permissão USAGE significa sem privilégios.

Os comandos necessários para criar usuário, conceder/revogar permissões a um banco de dados e tabelas foram apresentados neste post. Espero que possa ser útil para quem desconhecia.

Feito!