Menu fechado

Categoria: MySQL

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!

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!

Replicação em MySQL com SSL

Hoje vamos dar continuidade a replicação, você pode ler o primeiro post sobre este tema aqui Primeiramente vamos criar os certificados SSL: Certificado CA: openssl genrsa 2048 > ca-key.pem openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.pem Certificado do servidor openssl req -newkey rsa:2048 -days 1000 -nodes -keyout server-key.pem > server-req.pem openssl x509 -req -in server-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem Certificado do Cliente openssl req -newkey rsa:2048 -days 1000 -nodes -keyout client-key.pem > client-req.pem openssl x509 -req -in client-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem copy ca-cert.pem, client-req.pem, client-cert.pem to slave server Vamos ajustar o arquivo de configuração do MySQL: ssl ssl-ca=/etc/mysql/sslcerts/ca-cert.pem ssl-cert=/etc/mysql/sslcerts/server-cert.pem ssl-key=/etc/mysql/sslcerts/server-key.pem Não esqueça de reiniciar o serviço do MySQL, vamos verificar se esta tudo . . .

Gostou ? Ajude e Compartilhe!

Formatar data no MySQL usando date format

Fala galera, hoje vamos falar sobre como formatar datas no MySQL. Para este tutorial, estou usando o mysql server 5.5 Basicamente o que você precisa saber e utilizar a função DATE_FORMAT do mysql vamos criar uma tabela e popular ela com algumas datas: CREATE TABLE IF NOT EXISTS `dates` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; INSERT INTO `dates` (`id`, `date`) VALUES (1, '2012-10-17 13:39:55'), (2, '2012-10-09 09:23:11'), (3, '2012-08-24 16:47:07'); Beleza? então agora vamos restaurar esse valores e exibi-los de forma correta: SELECT id, DATE_FORMAT( `date` , '%d/%c/%Y %H:%i:%s' ) AS `date` FROM `dates` Fácil NE? lembrando que o formato da data sempre sera %LETRA onde letra corresponde ao campo que . . .

Gostou ? Ajude e Compartilhe!

Trocando a senha do usuario no MySQL

Hoje vamos falar sobre como alterar a senha de usuários no MySQL Utilizaremos 2 métodos, 1 – mysqladmin, 2 – linguagem SQL Este é um video com o passo a passo utilizado neste post: 1. mysqladmin: A sintaxe do comando e simples: mysqladmin -u USER -p password NEWPASSWORD vamos então alterar o password do usuário ‘marcelo’ para ‘123’ mysqladmin -u marcelo -p password '123' existem 3 inconvenientes de utilizar este comando para alterar o usuário: . você poderá somente alterar seu próprio usuário . você precisa de SUPER PRIVILEGIOS para executar este comando . caso você compartilhe a conta de usuário com outros users, você logara este comando no histórico, para isso podemos editar o ~/.bash_history e deletar as linhas onde o password e exibido. 2. Linguagem SQL (minha preferida): . . .

Gostou ? Ajude e Compartilhe!

Utilizando o MySQL FullText Index Search

Hoje vamos falar sobre um recurso muito útil no MySQL, o Full Text Index e Search. Um recurso muito poderoso que hoje nas versões 5.5 esta disponível apenas para a Engine MyISAM mas como podemos ver na documentação do FullText no site do MySQL, nas versoes 5.6 estará também disponível para InnoDB. Normalmente quando se quer procurar uma palavra ou expressão em uma coluna usamos o LIKE CORINGA EXPRESSAO CORINGA (LIKE ‘%EXPRESSAO%’) caso estejamos procurando por 2 palavras ficaria LIKE ‘%PALAVRA1%PALAVRA2%) o que muita gente não sabe e que este processo eh custoso para o mysql e não performatico, para estes casos podemos usar o FullText index. O comando eh simples MATCH() … AGAINST (), onde MATCH especificamos a(s) coluna(s) que desejamos procurar, sim, podemos utilizar o full text para . . .

Gostou ? Ajude e Compartilhe!