Displaying posts with tag: MySQL (reset)
Particionamento no MySQL

A ideia aqui é introduzir os conceitos de particionamento, exibir os recursos disponíveis no MySQL e passar um exemplo prático de como uma tabela pode ser particionada e quais os benefícios dessa prática. Futuramente abordarei o “subparticionamento”, veja os tópicos que serão abordados:

  • Conceitos de particionamento
  • Tipos de particionamento
  • Elegendo as clausulas de particionamento
  • Exemplo prático de particionamento
  • Manutenção
  • Limitações no MySQL (atualmente)

Conceitos:

O particionamento é um recurso clássico de banco de dados que resolve muitos problemas de escalabilidade e performance além de facilitar o gerenciamento e armazenamento de grandes volumes de dados. Com esse recurso é possível segregar o armazenamento dos dados em segmentos segundo uma clausula, ou seja, por determinado dado presente no registro o mesmo será …

[Leia mais]
Adicionando nova collation no MySQL

Trabalhar com banco de dados, às vezes, não é uma tarefa muito fácil. Eu sou do tipo de DBA que prefere manter as coisas o mais simples possível, porém, tem vezes em que não é possível. Alguns dias atrás, me deparei com um problema o qual nenhuma das collations presentes no MySQL resolveria. Para evitar uma grande re-escrita do código, descobri uma opção até então desconhecida, adicionar minha própria collation no MySQL.

Esta opção está descrita na documentação. Neste artigo, vou mostrar como fazer o MySQL identificar vogais com acento agudo como uma letra diferente.

Primeiro, precisamos descobrir onde está o nosso diretório com os charset’s:

mysql [localhost] {msandbox} ((none)) > SHOW VARIABLES LIKE 'character_sets_dir';
+--------------------+---------------------------------------+
| …
[Leia mais]
DBLink do Oracle para o MySQL

É comum a necessidade de integração entre diferentes SGBD para finalidades diversas, tais como relatórios, DW, iteração de sistemas secundários, entre outras.  O Oracle disponibiliza um recurso chamado DBLINK que proporciona a conexão a databases remotos, sendo esses Oracle ou NON-ORACLE. As conexões NON-ORACLE são realizadas com o auxilio do ODBC, a ideia aqui é exemplificar passo a passo como é configurado esse recurso no Oracle e também abordar os possíveis erros que venham a ocorrer e as diferenças entre o Oracle 10 e 11g.

O exemplo a seguir foi executado em um servidor Oracle Linux 6.5 com unix-ODBC 64bits, MySQL-ODBC 64bits e Oracle 11.2.0.4.

1 – Instalação do unix-ODBC:

yum install unixODBC

2- Download do mysql-connector-odbc:

Faça o download do driver correspondente a sua distribuição Linux em:

[Leia mais]
DatabaseCast: Currículo de DBA

Olá, pessoal! Neste episódio do DatabaseCast, Mauro Pichiliani (Twitter | Blog), Wagner Crivelini (@wcrivelini) e os convidados Rodrigo Almeida (@dbarodrigo) e Airton Lastori (@alastori) abrem a caixa de entrada e analisam currículos para a vaga de DBA Oracle, SQL Server e MySQL. Neste episódio você vai descobrir o que colocar em um currículo para vagas de DBA júnior, pleno e sênior, indicar o quanto quer ganhar, citar sua experiência no condomínio, gastar um tempo no LinkeIn, contar sua história e como (não) mentir no currículo. …

[Leia mais]
Adicionando nova collation no MySQL

Eu sou do tipo de DBA que prefere manter as coisas mais simples possíveis, mas, tem vezes em que não é possível. Alguns dias atrás, me deparei com um problema no qual, nenhuma das collations presentes no MySQL iria garantir a integridade do meu banco de dados, e para evitar uma grande re-escrita do código fonte, me deparei com uma opção até então desconhecida.
Adicionar minha própria collation no MySQL

Esta opção está descrita nesta sessão da documentação.
Neste artigo, vou mostrar como fazer o MySQL identificar vogais com acento agudo como uma letra diferente.

Primeiro, precisamos descobrir onde está o nosso diretório com os charset’s:


mysql [localhost] {msandbox} ((none)) > SHOW VARIABLES LIKE 'character_sets_dir';

[Leia mais]
Script de backup (Mydumper + retenção + monitoramento)

A ideia aqui é mostrar uma rotina de backup lógico alternativa ao convencional mysqldump, realizando um backup lógico na menor janela de disponibilidade possível, se comparado ao dump convencional.

  • Backup full online e comprimido;
  • Retenção de logs binários;
  • Controle de espaço em disco através do expurgo dos backups mais antigos;
  • Catalogo de backup;
  • Monitoramento do backup;
  • Backup lógico e organizado sem o uso do convencional Mysqldump.

Lembrando que já foram postadas soluções de backup iguais a essa utilizando o Xtrabackup e o Mysqldump. Neste artigo vou abordar a solução Mydumper, então sugiro a leitura dos artigos “Soluções de Backup no MySQL” e “ …

[Leia mais]
Mydumper & Myloader- substituindo o MySQLdump

Como assim substituindo? É uma nova versão do MySQLdump? Não, é uma ferramenta disponibilizada pela comunidade para realizar o dump do MySQL de forma mais otimizada. E por isso você não vai mais querer utilizar o convencional MySQLdump em seus backups lógicos. Ele vai parecer tão defasado que você só vai utilizá-lo para backups ou export muito simples e com pequeno volume de dados.

O Mydumper é uma ferramenta de dump otimizada que possibilita gerar o dump de um banco de dados até seis vezes mais rápido que o MySQLdump convencional. Faz o dump de forma mais organizada e paralela.

Guia de instalação

É necessário instalar algumas dependências, já que o Mydumper será compilado localmente. O guia a seguir já possui as dicas de instalação de dependências e …

[Leia mais]
Evite erros ajustando case sensitive do MySQL

Uma situação muito comum: ambiente de desenvolvimento Windows e ambiente de homologação e produção Linux. Se você se enquadra nela, uma maneira prática de evitar problemas relacionados aos nomes de tabelas é usar a configuração lower_case_table_names=1 em ambas plataformas.

Como o MySQL faz referências às tabelas

No MySQL, databases/schemas são diretórios, e tabelas são arquivos no filesystem do SO. É fácil verificar criando uma tabela e listando os arquivos do datadir. Veja este exemplo no Windows:

mysql> CREATE DATABASE meudb;
mysql> USE meudb;
mysql> CREATE TABLE MinhaTabela(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT);


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| meudb              |
| mysql              |
| performance_schema |
+--------------------+


mysql> SELECT @@datadir; …
[Leia mais]
Script de backup (Xtrabackup + retenção + monitoramento)

A ideia desse artigo é mostrar um processo/ política de backup por completo, contemplando:

  • Backup full online e comprimido;
  • Retenção de logs binários;
  • Controle de espaço em disco através do expurgo dos backups mais antigos;
  • Catálogo de backup;
  • Monitoramento do backup;

Para que seja possível acompanhar esse artigo, recomendo que leia primeiramente este e este artigo. Eles lhe darão uma base conceitual de DBA e uma apresentação inicial das capacidades da ferramenta Xtrabackup. Instale o Xtrabackup como mencionado no artigo “backup com xtrabackup”. Para começar, configure o log binário do MySQL; isso possibilitará o famoso …

[Leia mais]
Realizando backup com Xtrabackup

O Xtrabackup é uma solução de backup equivalente ao “Mysql Enterprise Backup”. O interessante é a possibilidade de poder utilizar exatamente os mesmos recursos e o mesmo tipo de backup de uma solução paga, através de uma ferramenta gratuita (ele é free – opensource.Fique tranquilo! ).

Com o Xtrabackup, você será capaz de:

  • Realizar backups full;
  • Realizar backups incrementais;
  • Realizar backups online (consistentes e sem gerar lock ou qualquer outro tipo de indisponibilidade);
  • Realizar backups comprimidos.

Outras funcionalidades você pode verificar no site oficial.

A instalação do Xtrabackup: a Percona disponibiliza pacotes para várias distribuições e versões binárias também, (veja o …

[Leia mais]