Segurança no MySQL

O banco de dados é parte fundamental de um sistema, sendo o provedor dos dados, ou seja, o sistema realiza uma série de validações e aplica as  regras de negócio e os demais controles de acesso a informação para por fim armazenar e buscar os dados segundo tais políticas no database.

Fica claro que um dos pontos fracos e de maior importância em tal sistema é o banco de dados, e por isso o administrador deve providenciar e implementar estratégias de segurança que impeçam acessos indevidos e indisponibilidades do banco de dados.

O MySQL tem determinadas peculiaridades que podem se tornar vulnerabilidades ou pontos fortes na segurança do sistema, isso dependerá do uso de tais recursos pelo administrador. Meu objetivo aqui é explanar esses recursos exibindo as vulnerabilidades e erros mais comuns cometidos, bem como as implementações necessárias para ter um ambiente seguro.

Instalação e Sistema …

[Leia mais]
Um olhar sobre MySQL 5.7 DMR

Original post: http://anothermysqldba.blogspot.com/2014/05/a-look-at-mysql-57-dmr.html

Então eu percebi que era hora eu olhei para MySQL 5.7. Esta é uma visão geral de alto nível, mas eu estava procurando sobre o MySQL 5.7 em um documento de poucas palavras: 

Então, eu estou começando com um novo  …

[Leia mais]
Expirar e forçar troca de senha MySQL 5.7.4

Yeaaaappp!!! Finalmente vejo isso acontecer! Passei horas com a bunda sentada na cadeira programando triggers de logon, catálogos e mais uma serie de coisas para fazer isso! hAHAHA, na versão 5.6 o MySQL dispõe da funcionalidade de expiração de senha, porém isso é feito de forma manual, ou seja, não é possível implementar uma política de senhas no MySQL através dos recursos nativos, pois o mesmo não forçava a troca de senha automaticamente após determinado período, o próprio administrador tinha de configurar isso no catalogo ou criar alguma rotina que fizesse isso.

Agora a versão 5.7.4 conta com esse recurso conforme anunciado pelo “Dave Stokes (MySQL Community Manager at Oracle) “:

[Leia mais]
TokuDB Storage Engine

Storage Engine? Ops, mais uma opção! Isso mesmo, você tem mais uma opção para os seus problemas de armazenamento de dados! Essa storage engine já existe há alguns anos, mas a cerca de 1 ano ela está sendo disponibilizada gratuitamente, e agora está sendo distribuída junto ao Percona Server e também com o MariaDB:

https://mariadb.com/kb/en/what-is-mariadb-100/

http://www.percona.com/doc/percona-server/5.6/release-notes/Percona-Server-5.6.16-64.2-tokudb.html

Tá! Legal, mas iae!?

Iae, Iae…… Iae que essa storage engine utiliza o algoritmo de “Fractal Index”, isso faz com que as estruturas não fragmentem, ou seja, os índices não se fragmentam como acontece em outras storage engines, além disso …

[Leia mais]
MySQL ERROR 1118 (42000) MySQL 5.0 para o MySQL 5.5 ou superior

Original post: http://anothermysqldba.blogspot.com/2014/05/mysql-error-1118-42000-mysql-50-to.html 

Então, eu tive recentemente um banco de dados TBs que que eu tinha que atualizar a partir do MySQL 5.0 para o MySQL 5.5. 
Este blog vai tocar no seguinte: 

  • sql_mode
  • innodb_strict_mode
  • SLAVE IO_THREAD

Durante o processo de mysql_upgrade (que faz um mysqlcheck) eu rapidamente percebi o seguinte erro: 

ERROR 1118 (42000) at line 23: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
Então eu comecei eu tinha que verificar algumas coisas …

[Leia mais]
Tutorial de instalação do MySQL 5.6 e Workbench 6.1 em distribuições Enterprise Linux

Neste tutorial mostraremos como instalar a versão mais recente do MySQL Database e MySQL Workbench nas distribuições Enterprise Linux, incluindo Fedora, CentOS, RedHat e Oracle Linux. O método utilizado é o gerenciador de pacotes YUM, baixando diretamente do repositóro oficial da Oracle.

Passo 1: Instalação do repositório YUM OraclePara obter a versão mais atualizada do MySQL Community, vamos adicionar o repositório oficial Oracle:
$ su
# mkdir /opt/mysql5.6
# cd /opt/mysql5.6
# wget https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm --no-check-certificate
# yum localinstall mysql-community-release-el6-5.noarch.rpm
(Um comando alternativo seria: # rpm -ivh mysql-community-release-el6-5.noarch.rpm)

Passo 2: Instalação do MySQL 5.6Depois de instalado o repositório Oracle, basta fazer:
# yum update mysql-libs
# yum install …

[Leia mais]
Índice de referência MySQL com mysqlslap

Original post: http://anothermysqldba.blogspot.com/2014/05/mysql-benchmark-with-mysqlslap.html

Então aferição diferentes consultas MySQL contra seu banco de dados é uma coisa sensata a fazer. Isso deveria ser óbvio. Enquanto otimizar consultas o melhor que podemos usar EXPLAIN (e explicar ESTENDIDO), tendo-lhes tempo para referência deles deve ser útil. 

Este é um exemplo simples de executar uma instrução mysqlslap. 

Para este exemplo eu carreguei o banco de dados do MySQL MUNDO. ( …

[Leia mais]
MySQL Divisórias timestamp - datetime

Original post: http://anothermysqldba.blogspot.com/2014/04/mysql-partitions-timestamp-datetime.html

Então, eu recentemente percebi que eu ainda não falei muito sobre partições MySQL.
Muitos bons posts sobre partições MySQL já existe e eu listei alguns abaixo.

[Leia mais]
MySQL Tech Tour em Brasília

Nosso próximo MySQL Tech Tour será no próximo dia 30 de abril em Brasíla. O evento é organizado pela Microsíntese, parceira Oracle para MySQL. Inscrições diretamente no site http://www.microsintese.com.br/en/web/guest/oraclemysqlday .

A nossa agenda continua parecida com dos outros Tech Tours e é a seguinte:
08h15  Recepção
08h30  Abertura e Boas Vindas - Microsintese
09h00  Otimizando a performance, segurança e disponibilidade com o MySQL Enterprise.
10h00  Coffee-break
10h20  Arquiteturas de referência MySQL
11h20  Oracle MySQL Premier Support
11h40  Q&A - Perguntas e Respostas
12h00 …

[Leia mais]
Heartbleed garantir & MySQL

Original post: http://anothermysqldba.blogspot.com/2014/04/heartbleed-secure-mysql.html
Bem, um monte de preocupação, e justamente por isso, tem sido feito sobre o bug heartbleed recentemente.

Eu não acho que eu deveria tentar acrescentar muito mais do que aqueles que eu considero especialistas já mencionados. Se você não analisou as seguintes mensagens que deveria.

[Leia mais]