Menu fechado

Autor: marceloaltmann

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’; +——————–+—————————————+ | Variable_name | Value | +——————–+—————————————+ | character_sets_dir | /mysql/sources/5.6.26/share/charsets/ | +——————–+—————————————+ 1 row . . .

Gostou ? Ajude e Compartilhe!

MySQL & NoSQL – Memcached Plugin

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. Gostou ? Ajude e Compartilhe!

Gostou ? Ajude e Compartilhe!

MySQL Fabric – Parte 1 Instalação

MySQL Fabric é uma ferramenta que está inclusa no MySQL Utilities que ajuda a gerenciar servidores MySQL. Ele funciona basicamente adicionando uma nova camada entre a aplicação e os servidores MySQL, que auxilia no processo de sharding e alta disponibilidade. Para instalar nosso ambiente com MySQL Fabric, vamos precisar de 4 servidores, eu utilizei os seguintes nomes e IPs: fabric1 (192.168.0.200) – fabric mysql1 (192.168.0.201) – mysql master mysql2 (192.168.0.202) – mysql slave mysql3 (192.168.0.203) – mysql slave Obs.: Estou rodando CentOS 6.5 em todos os servidores. 1. Adicione o repositório mysql nos 4 servidores, leia Instalar a versão mais recente do MySQL via yum para mais informações: rpm -i http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum update 2. Instale os pacotes mysql mysql-server mysql-utilities: yum install mysql mysql-server mysql-utilities chkconfig mysqld on /etc/init.d/mysqld start . . .

Gostou ? Ajude e Compartilhe!

MySQL Sandbox

Hoje vamos falar sobre uma excelente ferramenta que todo DBA MySQL precisa ter em mãos, estou falando do MySQL Sandbox. MySQL Sandbox é desenvolvido por Giuseppe Maxia (The Data Charmer), esta ferramenta auxilia na instalação de servidores para testes. Se você precisa testar algum bug, algum caso especifico relacionado a replicação(suporta master/slave e master/master) esta é a ferramenta que tens que conhecer. INSTALAÇÃO: Vá até http://mysqlsandbox.net/ e baixe a versao mais atual (Pode ser via launchpad): yum install perl perl-ExtUtils-MakeMaker perl-Test-Simple wget https://launchpad.net/mysql-sandbox/mysql-sandbox-3/mysql-sandbox-3/+download/MySQL-Sandbox-3.0.44.tar.gz tar -zxvf MySQL-Sandbox-3.0.44.tar.gz cd MySQL-Sandbox-3.0.44 perl Makefile.PL make make test make install CRIANDO UMA INSTÂNCIA: Para criar uma única instância, tudo o que precisamos é o pacote (tar.gz .rpm .deb) da versão do MySQL que desejamos instalar e o comando make_sandbox: [root@localhost ~]# make_sandbox mysql-5.6.17-linux-glibc2.5-i686.tar.gz unpacking /root/mysql-5.6.17-linux-glibc2.5-i686.tar.gz Executing . . .

Gostou ? Ajude e Compartilhe!

Esquentando o InnoDB Buffer Pool

Uma das mais importantes configurações para quem usa InnoDB é o innodb_buffer_pool_size, ele basicamente armazena dados e índices em memória, quando o MySQL recebe uma query e as paginas que contem o resultado da pesquisa/índice estao armazenadas no buffer, o MySQL não precisar ler essas informações do disco, o que é muito mais rápido (velocidade da memória vs velocidade do disco) . Como estas informações estão armazenadas na memória, cada vez que o MySQL é re-iniciado, o buffer é apagado, e para “esquentar” o buffer normalmente leva-se algum tempo. Para agilizar este processo, vamos utilizar 2 variáveis para salvar e restaurar as referencias das paginas que estão armazenadas no buffer, esta é uma nova funcionalidade adicionada no MySQL 5.6 (essa opção já pode ser encontrada em algumas versões anteriores do . . .

Gostou ? Ajude e Compartilhe!

Instalar a versão mais recente do MySQL via yum

Normalmente quando instalamos o MySQL via yum, a versão que vem por padrão nos repositórios do SO são versões antigas(por antigas, leia, não a ultima versão disponível em mysql.com/downloads). Para ter a ultima versão instalada, sempre temos que ir em mysql.com/downloads, baixar e instalar os pacotes manualmente, certo? Errado, MySQL lançou recentemente seu Repositório YUM. Basicamente, este repositório lhe permite instalar as ultimas versões GA(General Available) do MySQL Community Server, Workbench e Connector/ODBC. COMO INSTALAR ? Temos 2 opções para adicionar este repositório: 1. Usando os pacotes RPM Baixe o .rpm para a sua versão de SO em dev.mysql.com/downloads/repo/ e instale: wget http://dev.mysql.com/get/mysql-community-release-el6-3.noarch.rpm/from/http://repo.mysql.com/ sudo yum localinstall -y mysql-community-release-el6-3.noarch.rpm 2. Adicionando um arquivo manualmente na pasta /etc/yum.repos.d/ Adicione o conteúdo abaixo em um arquivo chamado mysql-community.repo: [mysql-community] name=MySQL Community Server baseurl=URL . . .

Gostou ? Ajude e Compartilhe!

Auditando MySQL Com Mcafee Audit Plugin

Auditar o MySQL com as funcionalidades padrão, não é uma tarefa fácil, pode se tentar algumas tecnicas utilizando tcpdump, escrever algum script baseado no general log (log geral), utilizar o MySQL proxy, ou pode se utilizar algum plugin designado a isso (como por exemplo Mcafee MySQL Audit Plugin ou MySQL Enterprise Audit Log Plugin) . Neste poste vou abortar o Mcafee MySQL Audit Plugin (https://github.com/mcafee/mysql-audit), em um proximo post abortarei o MySQL Enterprise Audit Log Plugin. A instalação é simples, requere apenas alguns passos, estou utilizando o MySQL 5.5 32 bits, então vou baixar a versão do plugin 32 bits para MySQL 5.5 em https://github.com/mcafee/mysql-audit/downloads [root@mysql-audit marcelo]# wget https://github.com/downloads/mcafee/mysql-audit/audit-plugin-mysql-5.5-1.0.3-371-linux-i386.zip [root@mysql-audit marcelo]# unzip audit-plugin-mysql-5.5-1.0.3-371-linux-i386.zip Archive: audit-plugin-mysql-5.5-1.0.3-371-linux-i386.zip creating: audit-plugin-mysql-5.5/ creating: audit-plugin-mysql-5.5/lib/ inflating: audit-plugin-mysql-5.5/lib/libaudit_plugin.so inflating: audit-plugin-mysql-5.5/COPYING inflating: audit-plugin-mysql-5.5/THIRDPARTY.txt inflating: audit-plugin-mysql-5.5/README.txt Proximo passo é . . .

Gostou ? Ajude e Compartilhe!

Multi-Source Replication com MySQL 5.7 – exemplo

Dando continuidade ao post anterior vamos ver um exemplo de como configurar 2 masters e 1 slave utilizando multi-source replication. Como foi dito anteriormente, por enquanto esta funcionalidade esta disponível somente na versão labs. A configuração em si é muito simples, vamos precisar de 2 masters utilizando GTID(veja este outro post e aprenda como configurar) e o slave com as opções para garantir o chamado “crash-safe”. Master 1 e 2: gtid-mode=on enforce-gtid-consistency Slave master_info_repository=TABLE relay_log_info_repository=TABLE gtid-mode=on enforce-gtid-consistency Vamos primeiro criar o usuário para replicação: master1 [localhost] {msandbox} ((none)) > GRANT REPLICATION SLAVE ON *.* TO ‘slave_user’@’127.0.0.1’ IDENTIFIED BY ‘123’; master2 [localhost] {msandbox} ((none)) > GRANT REPLICATION SLAVE ON *.* TO ‘slave_user’@’127.0.0.1’ IDENTIFIED BY ‘123’; Vamos configurar o slave normalmente, com apenas um novo detalhe, foi introduzida a opção FOR CHANNEL. . . .

Gostou ? Ajude e Compartilhe!

MySQL Multi Source Replication

Na semana passada, durante o evento MySQL Connect, foi lançada a versão de testes do MySQL 5.7 (MySQL 5.7.2 DRM), dentre as novas funcionalidades, uma que chamou bastante a minha atenção foi a replicação de múltiplos masters (multi source replication). Atualmente o MySQL não possui uma funcionalidade oficialmente (build-in) , pode se conseguir esse resultado com alguns hacks, como, a cada x segundos executar um change master to no slave para ficar trocando de master, mas como o nome diz, isso é um “hack”. Veja como configurar aqui Não confundam muti source replication com multi master, veja as figura abaixo para entender a diferença: Multi Master Replication – Na figura acima, temos 2 master’s e 1 slave, onde que o master 1 é master do master 2, master 2 é . . .

Gostou ? Ajude e Compartilhe!