JQuery e AJAX – Combo de Estado e Cidade

Essa semana precisei implementar uma solução de combo dinâmico de Estado / Cidade que carregasse as opções das cidades de acordo com a escolha do estado. Obviamente teria que usar Ajax (JQuery) e o Json (JavaScript Object Notation) que é um formato leve de troca de dados (fonte: http://www.json.org/).

Fiz uma pesquisa rápida na NET e de cara encontrei um excelente artigo de Davi Ferreira: “Populando selects de cidades e estados com AJAX (PHP e jQuery)” (http://www.daviferreira.com/posts/populando-selects-de-cidades-e-estados-com-ajax-php-e-jquery). No entanto para o meu caso a solução do Davi teria que ser reinventada tendo em vista que no meu form haviam 3 conjuntos de Estado/Cidade. Um para os dados de endereço do usuário e outros dois para os dados profissionais. Uma opção seria repetir o código 3 …

[Leia mais]
Percona anuncia plugin para MySQL

A Percona anunciou uma liberação de acesso antecipado, de um plugin PAM de autenticação para MySQL. Ao contrário do plug-in Monty Program também anunciado ontem, que aparentemente só suporta MariaDB, o plugin Percona suporta MySQL 5.5.x, Percona Server 5.2.x. e MariaDB 5.2.x. 

O plugin de autenticação PAM Percona, é capaz de autenticar utilizando o usuário do sistema operacional (pam_unix), do servidor LDAP (pam_ldap), servidor RSA SecurID ou outros métodos de autenticação acessíveis. Dessa maneira, a Percona diz que está considerando o plugin de "acesso rápido": ele não tem o conjunto completo de recursos, mas é, no entanto, funcional. A versão atual do plugin exige que os usuários sejam criados dentro do MySQL, mesmo quando autenticado por PAM. A Percona diz que esta restrição será removida na versão final.

Com informações de …

[Leia mais]
Buffer Pool: Utilizando o mecanismo de buffer de dados do InnoDB

Muito se tem comentado e discutido sobre a utilização do InnoDB desde que a Oracle colocou no mercado e versão 5.5 do MySQL com o InnoDB Plugin, agora sendo este o Storage Engine padrão do MySQL.

Antes disso, talvez fosse mais cômodo criar somente um banco de dados e um muitas tabelas e iniciar os projetos. Agora será necessário entender bem como funcionam algumas estruturas do InnoDB, já que as tabelas que você criava antes agora serão controladas por um motor mais robusto, com integridade referencial, logs para suporte à transação, níveis de isolamento e muitos outros recursos que coloca o MySQL como uma opção robusta para ambientes de missão crítica.

Vou tratar de explicar neste artigo somente o funcionamento do Buffer Pool, área de memória criada e controlada pelo InnoDB, onde são armazenados dados e índices de tabelas.

Os exemplos deste artigo contam com uma instalação completamente nova do …

[Leia mais]
Cache de Threads – thread_cache_size

Um dos pontos mais críticos para o workload do MySQL é a criação contínua de threads e sabendo-se que a cada conexão que uma aplicação ou um cliente qualquer realiza com o MySQL, uma nova *thread* é criada – imaginem um servidor com essa quantidade de requisições: mysql> \s -------------- mysql Ver 14.14 Distrib 5.5.17, [...]

Analisando o InnoDB Buffer Pool

A primeira coisa a se fazer ao se trabalhar com o InnoDB é utilizar as variáveis de status para checar se a configuração atual do Buffer Pool, definida em innodb_buffer_pool_size, satisfaz as necessidades dos bancos de dados atualmente armazenados no MySQL. Como já abordei aqui no blog, em outro post, manter os dados (e índices [...]

InnoDB Buffer Pool

Os exemplos deste artigo contam com uma instalação completamente nova do MySQL, na versão 5.5.18, rodando em CentOS 6.0, conforme exibido abaixo: [root@mgm01 ~]# rpm -ivh MySQL-server-5.5.18-1.rhel5.i386.rpm Preparing...             ################################# [100%] 1:MySQL-server           ################################# [100%] *** PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER *** [...]

Rápida instalação de replicação do MySQL para MongoDB

O suporte para a prova de conceito Tungsten para MongoDB chegou em maio, quando eu falei sobre nosso hackathon para replicar o MySQL para o MongoDB. Esse código ficou inativo por alguns meses enquanto a gente trabalhou em outras coisas como a replicação paralela, mas o período de ociosidade acabou. Em setembro, eu verifiquei as correções feitas ao Tungsten Replicator para adicionar o suporte de instalação em uma linha para MongoDB slaves.

A replicação do MySQL para MongoDB já é oficialmente suportada pelo Tungsten Replicator 2.0.5. No entanto, aqui está um rápido guia sobre como usar meus lab …

[Leia mais]
MySQL 5.5.18 traz correções para problemas de replicação

A Oracle disponibilizou o MySQL 5.5.18, a última das atualizações regulares para a versão de produção do banco de dados open source. Na atualização, a Oracle tem marcado uma série de situações inseguras em replicação "statement-based".

As declarações questionadas fazem referência ao resultado de uma instrução "select", na qual a ordem não pode ser confiada. Sendo assim, a Oracle aconselha os utilizadores de "logging statement based" a consultar a documentação para obter mais orientações. O problema de replicação em que o master (mestre) podia enviar eventos danificados para os slaves (escravos) relacionados ao disco e ao log binário também foi corrigido.

Outras mudanças incluem melhorias para a biblioteca libedit junto com MySQL, remoção de alocação de memória desnecessária e liberação ao …

[Leia mais]
Monitorando discos do servidor

Pode ser que esse post não tenha haver com o fato de este ser um blog focado em MySQL, mas, pelo contrário, tudo que está em torno de tal software de bancos de dados será abordado aqui com foco na utilidade e melhor funcionamento. Levando em conta que alguns serviços em nuvem ainda oferecem serviços [...]

Manutenção do MySQL – mysqlcheck

Uma das tarefas mais interessantes e que envolve mais pontos a serem analisados são as rotinas de manutenção dos bancos de dados e com o MySQL não é diferente. Tais pontos vão da análise do melhor momento para se realizar tal manutenção, intervalo de tempo denominado “janela de manutenção” ou do inglês, “maintenance time frame” , [...]