Mostrando entradas 1 para 10 de 25
Próximo 10 Entradas mais antigos »
Displaying posts with tag: performancedb (reset)
Fazendo upgrade do MariaDB 10.2 para o 10.3

O processo de upgrade é bem simples e importante para manter o seu banco de dados sempre atualizado tanto em questões de melhorias quanto em questões de correção de BUGs.

Os procedimentos que vou mostrar é o mesmo para fazer o upgrade dentro de uma mesma versão(10.2.5 pata 10.2.10) ou entre versões diferentes(10.2 para a 10.3). Mas sempre leia o release log e as considerações para o upgrade, pois podem existir situações em que para partir da versão N para a versão X você precisa antes fazer o processo de upgrade para a versão Q ou situações em que algo mudou a nível de configuração ou a nível de comportamento do banco de dados em alguma situação.

O MariaDB mantem essas informações disponível em seu site.
https://mariadb.com/kb/en/library/upgrading-from-mariadb-102-to-mariadb-103/

[Leia mais]
EXPORTANDO TABELAS INNODB

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

  1. MySQL 5.6.6 ou superior
  2. 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]
INSTALANDO O MYSQL 5.7 NO CENTOS A PARTIR DOS BINÁRIOS

Temos 3 formas de instalar o MySQL nas distribuições Linux. As instalações podem ser feitas a partir do repositório(yum, apt-get, etc…), a partir do pacote já compilado para a sua distribuição(.rpm, .deb, etc…) ou ainda através dos binários do MySQL.
Nesse momento vamos ver como fazer a instalação a partir dos arquivos binários, e já adianto que será um post um pouco longo, pois temos que configurar tudo manualmente.
Vamos instalar a versão mais recente do MySQL 5.7.

A primeira coisa a ser feita é acessar o site do MySQL e fazer o download do arquivo.

Recomendo executar um yum update antes de iniciar, pois caso tenha alguma lib desatualizada, nesse momento ela será atualizada.

A primeira coisa é fazer o download dos arquivos que vamos precisar.

https://dev.mysql.com/downloads/mysql/

Ao chegar nessa tela verá que a versão que está selecionada para download são os …

[Leia mais]
INSTALANDO O MYSQL 5.7 NO CENTOS COM OS ARQUIVOS RPM

Temos 3 formas de instalar o MySQL nas distribuições Linux. As instalações podem ser feitas a partir do repositório(yum, apt-get, etc…), a partir do pacote já compilado para a sua distribuição(.rpm, .deb, etc…) ou ainda através dos binários do MySQL.
Nesse momento vamos ver como fazer a instalação a partir do compilado para a sua o CentOS(Para os derivados do Red Hat.)
Vamos a versão mais recente do MySQL 5.7.

A primeira coisa a ser feita é acessar o site do MySQL e fazer o download dos arquivos, veja que estou falando de mais de um arquivo, pois teremos que instalar o MySQL Server, cliente, common, libs, etc…

Recomendo executar um yum update antes de iniciar, pois caso tenha alguma lib desatualizada, nesse momento ela será atualizada.

A primeira coisa é fazer o download dos arquivos que vamos precisar.

https://dev.mysql.com/downloads/mysql/

Ao chegar nessa tela …

[Leia mais]
COMO ESCOLHER MELHOR SEUS ÍNDICES – UM BOM COMEÇO

Antes de começar a escrever suas buscas pelos dados , recomendo você a primeiro ter uma ideia do que é mais importante para seus usuários.
Quais valores e o tamanho de seus subconjunto vão conduzir a escolha do(s) índice(s) . O índice nada mais é que uma forma de acessar
mais rapidamente uma informação específica. Aqui é muito importante perceber que “informação específica” não é “todas as informações”.
E apesar de contribuirem para o acesso a determinados dados, eles vêm com um custo, tanto em armazenamento quanto em processamento. Por isso
a estratégia adotada na criação de um indice deve considerar, por exemplo, que o volume de armazenamento de um indice pode ser muito maior
que o volume de armazenamento do dado que está sendo indexado. Considere os índices em suas estratégias de backup/restore.
E quanto ao processamento? Toda ação de insert/delete/update no banco, …

[Leia mais]
MYSQL + JSON DA CASAMENTO SIM!

 

Hoje vamos falar um pouco sobre um assunto muito desejado e esperado, tanto por desenvolvedores quanto por DBAs.
O MySQL suporta armazenar documentos JSON????
A resposta é um grande e sonoro SIM!!!
Na versão 5.7.8 foi adicionado o data type JSON e com ele você pode armazenar e manipular documentos JSON.

Isso significa que posso fazer no MySQL tudo que faço no MongoDB?

Não, pelo menos por enquanto não. Eu ainda não vejo dessa forma, na maturidade atual do recurso ele já pode ajudar muito a suprir algumas necessidades em armazenar e manipular documentos JSON, mas não temos(ainda!?) uma engine completa e altamente robusta para isso!

Vamos ver alguns exemplos de como armazenar, buscar e manipular documentos JSON. Em um próximo POST vou falar sobre performance e melhores práticas.

Para esse exemplo estou utilizando o MySQL 5.7.11 que …

[Leia mais]
FEDERATED: Selecionando tabelas em outro servidor

 

Algumas vezes temos a necessidade de realizar consultas ou até mesmo JOINs com tabelas que estão em outro servidor MySQL/MariaDB. E no nosso cenário não temos um MySQL Cluster, nem um MariaDB/Percona Galera Cluster, nem sequer uma replicação, seja isso por qualquer motivo(projetos diferentes, empresas diferentes, etc…).
Para isso o MySQL tem(e faz muito tempo) uma engine específica, a engine FEDERATED. Sim ela permite realizar uma conexão com outro servidor MySQL/MariaDB e executar uma consulta em uma tabela. Mas tenha em mente que a performance vai depender de vários itens, como a velocidade da comunicação pela internet/rede local, quantidade de dados e itens relacionados a performance em geral(estrutura da tabela, índices, engine…).

No exemplo estou usando o MySQL 5.6.28, mas esse mesmo exemplo vai funcionar para o MySQL 5.5 e 5.7, no MySQL 5.1 e 5.0 não testei, se não for …

[Leia mais]
Alterando o datadir do MySQL no Ubuntu

Um procedimento comum após a instalação do MySQL é alterar o datadir e normalmente é para outra unidade de disco. Nos servidores que eu administro sempre busco deixar o datadir em uma unidade de disco e a gravação de logs em outra, isso faz não existir concorrência de I/O no momento de leitura ou gravação de dados.

Eu normalmente utilizo CentOS para o MySQL mas devido a um projeto acabei utilizando Ubuntu 14.04. Toda a instalação, tuning, etc… foi maravilhosamente bem, até o momento em que eu foi alterar o datadir do MySQL.

Então eu parei o serviço do MySQL com o comando /etc/init/d/mysql stop , e editei o /etc/mysql/my.cnf para alterar as variáveis de datadir e variáveis de diretório das tabelas InnoDB.

Copy to Clipboard datadir = /database/mysql innodb_data_home_dir = /database/mysql innodb_log_group_home_dir = /database/mysql

Nesse momento os problemas começaram, o serviço do MySQL não …

[Leia mais]
COMO NÃO TER ERROS NAS COLUNAS AUTO_INCREMENT NA REPLICAÇÃO

Quando temos uma replicação envolvendo mais de 1 servidor master temos que tomar o cuidado para que a replicação não pare de funcionar, e o primeiro problema que qualquer DBA enfrenta é o erro de chave primária duplicada.

 Variáveis que devem ser configuradas em todos os servidores Master. Copy to Clipboard Duplicate entry '1' for key 'PRIMARY'

Porém é muito simples e fácil não passar por esse problema.
Temos 2 variáveis fundamentais e é muito simples a sua correta configuração.
Obs: O que eu mais vejo por ai é configurado da forma errada, ou configurada no chute, sem entender a forma correta de usar

Variável Descrição
auto_increment_increment Define o intervalo de valores das colunas auto_increment, o salto que o auto_incremtn vai precisar fazer para que não …
[Leia mais]
Você sabe como calcular o tamanho das suas tabelas e databases?

Uma informação legal, mais do que legal, importante, mais do que importante, necessária!

Quem nunca perguntou ou foi perguntado sobre qual o tamanho de um banco de dados ou de uma tabela?
Quando as tabelas são MyISAM da para olhar o tamanho dos arquivos, ou se for InnoDB e estiver com o innodb_per_tables habilitada até conseguimos, mas temos que nos conectarmos no servidor, acessar o diretórios e ai olhar os arquivos, depois somar os valores, etc…

Com esses simples SELECTs conseguimos essas respostas.

Verificar os tamanhos dos databases


Copy to Clipboard SELECT table_schema AS 'DB', FORMAT(SUM(TABLE_ROWS), 0) AS 'Linhas', ROUND(SUM(DATA_LENGTH + INDEX_LENGTH )/1024/1024, 3) AS 'MB' FROM information_schema.TABLES GROUP BY table_schema WITH ROLLUP; Verificar os tamanhos das tabelas de um database


Copy to Clipboard SELECT TABLE_NAME AS 'Tabela', …

[Leia mais]
Mostrando entradas 1 para 10 de 25
Próximo 10 Entradas mais antigos »