InnoDB introduced *.isl (InnoDB Symbolic Link) files in MySQL 5.6 to help users find the data files for tables created using the CREATE TABLE command. DOCUMENT DIRECTORY. Because they are not located in the same data directory as regular file-per-table tablespaces, InnoDB refers to them as remote tablespaces. To store the remote path, we additionally … Continue lendo MySQL 5.6 – ISL Files →
Você sabe como exportar uma ou mais tabelas InnoDB de um database para outro ou de um servidor para outro apenas movendo os arquivos de dados?
Como sabemos, com tabelas InnoDB não podemos fazer igual fazemos com tabelas MyISAM, onde basta copiarmos os 3 arquivos(MYD, MYI e FRM) da tabela MyISAM e enviar para onde quisermos. Mas tem um recurso nativo e que permite fazer algo bem semelhante e pode ajudar muito.
Assista o video e veja como isso funciona.
Pré-requisitos
- MySQL 5.6.6 ou superior
- InnoDB File Per table ativado
Como fazer
Independente se deseja enviar para um database no mesmo servidor ou para outro servidor os procedimentos são os mesmos.
Os exemplo abaixo são os mesmos mostrados no video acima, então para um melhor entendimento das instruções abaixo assista o video .
Criar uma tabela com a mesma estrutura …
[Leia mais]Desde a versão 5.5 do MySQL o storage engine InnoDB vem configurado “de fábrica” como padrão. O InnoDB é um storage engine transacional, 100% ACID, estável e robusto, e, inteiramente, grátis. Reconhecidamente, fez progressos notáveis desde o MySQL 4.x. Com destaques para as melhorias implementadas nas versões: 5.1, 5.5, 5.6, e, recentemente na 5.7. O … Continue lendo O MyISAM está morto? →
Se você for um usuário iniciante de MySQL, provavelmente vai esbarrar com a necessidade de fazer algum tuning no servidor para melhorar a performance e vai ficar na dúvida de onde iniciar. Alguns ajustes básicos podem ser antecipados, já no momento da instalação do servidor, sendo o principal innodb_buffer_pool_size.
O InnoDB Buffer Pool é a principal área da memória usada pelo InnoDB, que é o storage engine default do MySQL. O ideal é que haja neste buffer espaço suficiente para os dados “mais quentes”. A quantidade de memória que o MySQL vai reservar para o Buffer Pool é controlada pela variável de sistema innodb_buffer_pool_size.
Após a instalação do MySQL, o valor padrão da variável de sistema innodb_buffer_pool_size é de 128 MB (versão 5.7), o que é bem baixo para os hardwares atuais. Você pode verificar qual atual configurado no seu MySQL com o comando:
mysql> SHOW GLOBAL VARIABLES …[Leia mais]
Se você utiliza uma Storage Engine que suporta transações, você
provavelmente já enfrentou ou ouviu falar de
deadlock's
.
Na Documentação do MySQL podemos ver:
“Always be prepared to re-issue a transaction if it fails due to
deadlock. Deadlocks are not dangerous. Just try again.”
“Sempre esteja preparado para re-executar uma transação se ela
falhar por causa de deadlock. Deadlocks não são perigosos. Apenas
re-execute a transação.”
Na empresa em que trabalho, temos um importante processo que de
vez em quando falha por causa de deadlock. Decidi então melhorar
este processo e fazer o que a documentação diz (re-executar a
transação).
Para fazer isso, Eu queria poder reproduzir o scenario do
deadlock e a transação vitima do rollback teria que ser a do
processo em questão.
…
[Leia mais]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]É 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]Olá, leitor, tudo bem?
Em resumo, com a compra da MySQL pela Oracle, alguns de nós usuários e fãs do MySQL pensamos que poderia ser seu fim. Ou que problemas estariam à vista em pouco tempo. E é com muito prazer que hoje nós, usuários do banco de dados MySQL, percebemos que o que ocorreu foi o contrário. O banco de dados MySQL está muito bem e cada vez mais forte.
A Oracle colocou, na versão 5.6 em diante do MySQL, vários recursos realmente importantes vindos do oracle knowledge base, entre eles a otimização e a alteração de tabelas innodb a quente.
É claro! Não é mágico! Não basta instalar a nova versão e sair mandando ver! Por isso, segue uma dica do seu amigo aqui!
Seguem as etapas: Planejamento, Execução, Guardando as ferramentas!
Planejamento
Escolha a tabela que pretende otimizar, busque-a no banco “information_schema” com o seguinte comando:
SELECT * …[Leia mais]
Muita gente já deve ter ouvido falar nos bancos de dados NoSQL e uma das ferramentas NoSQL muito utilizada é o memcached, no qual adicionamos uma camada de cache entre a aplicação e o banco de dados. Desde a versão 5.6 do MySQL, foi disponibilizado um plugin de integração entre o MySQL e o Memcached. Neste artigo publicado no iMasters eu mostro como instalar e configurar esta integração.
[Leia mais]Sim, isso mesmo que você está pensando! A Oracle está desenvolvendo e já deixou disponível uma versão beta para testes! Será o mesmo gerenciamento existente no Oracle, onde existe o conceito de se criar uma Tablespace, adicionar Datafiles as Tablespace e criar os objetos dentro das Tablespaces.
Com esse conceito, será possível por exemplo, criar várias tabelas em uma Tablespace com compressão, e assim manter todo o gerenciamento de compressão em uma única área, evitando ter várias tabelas com vários gerenciamentos. Com isso é possível administrar de modo mais fácil os recursos de hardware e alocação do banco de dados.
Por exemplo:
CREATE TABLESPACE `TBS_DADOS_COMPRESS` ADD DATAFILE 'TDS_DC_DATAFILE1.ibd' [FILE_BLOCK_SIZE=4]; CREATE TABLESPACE `TBS_DADOS` ADD DATAFILE 'TDS_D_DATAFILE1.ibd' [FILE_BLOCK_SIZE=8]; CREATE TABLE ITEM_VENDA TABLESPACE=`TBS_DADOS_COMPRESS`; ALTER TABLE tbl_name …[Leia mais]