Essa dica eu encontrei no blog do Cristiano Anderson.

Os frameworks para desenvolvimento web como o Django possuem um ótimo ORM, facilitando muito a criação de aplicações rápidas e eficientes. Da mesma forma que facilita o desenvolvimento, atrapalha em alguns pontos, como por exemplo se o desenvolvedor desejar utilizar mais de um banco de dados para a mesma aplicação. Embora seja possível fazer, as alterações no settings e no código fogem um pouco dos padrões do framework.

Existe uma forma bastante simples para dividir a carga do banco de dados entre vários servidores sem mexer em nada na aplicação. As alterações são feitas diretamente no banco de dados e ficam totalmente transparentes para o framework, é uma mão na roda para escalar melhor as aplicações. O MySQL possui um storage engine chamado Federated, que é o responsável por acessar tabelas remotas como se fossem tabelas locais do banco de dados, digamos assim, funciona como uma espécie de NFS mas para tabelas do MySQL.

Para fazer a solução funcionar, primeiro passo é verificar se os seus servidores MySQL suportam o engine Federated. Para isso, basta o comando show engines; Se encontrar a linha FEDERATED YES, é sinal que o seu banco suporta.  Em segundo lugar, basta criar no seu banco uma tabela com o mesmo layout da tabela que deseja acessar remotamente. O layout precisa ser idêntico, senão não funciona. No final, basta definir como engine Federated e passar os parâmetros de acesso, algo como: ENGINE=FEDERATED CONNECTION=’mysql://user@192.168.1.1/banco/tabela’ Dessa forma você consegue ter acesso a uma tabela remota, como se fosse local. Essa solução é excelente para quem trabalha com frameworks que possuem o próprio ORM. Veja mais informações detalhadas sobre o assunto nesse artigo do MySQL Brasil.

Fonte: http://christiano.blog.br/2008/06/04/distribuindo-tabelas-mysql-em-varios-servidores/


Posted in: MySQL  Tags:
Admin posted on October 8, 2007 12:10

O comando mysql_install_db inicializa a estrutura com as permissões erradas no Slackware, o que faz com o que o banco não inicialize, apresentando um erro. Para evitar isso, altere o usuário corrente para mysql e então execute o comando, como ilustrado abaixo:

# Altera o usuário corrente para "mysql"

su - mysql

# Executa o comando para inicializar a estrutura do MySQL

mysql_install_db

Desta forma não haverá problemas com as permissões e o banco inicializará normalmente.

Fonte: Piter Punk's Home Page


Posted in: Linux/Unix , MySQL  Tags: , ,

Páginas

Calendário

«  September 2010  »
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
View posts in large calendar