Amigos,
Estou trabalhando com um banco MySQL 5.1.31. a pergunta é a seguinte:
Depois de ter populado o banco com algumas tabelas para teste verifiquei que o arquivo ibdata1 ficou com um determinado tamanho.
Depois apaguei vários registros de uma tabela, percebi que o ibdata1 não diminuiu de tamanho. Como pode ser feito um re-dimensionamento no banco arquivo baseado no tamanho das tabelas existentes?
[]´
MySQL - ibdata1
Moderador: Moderadores
MySQL - ibdata1
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Re: MySQL - ibdata1
Se for como no Firebird, você terá de fazer um back-up e restaurar em cima do original. Tentou isso?
Mas o apagamento sem a devida compressão do banco é normal. Evita-se perder um tempo precioso.
Mas o apagamento sem a devida compressão do banco é normal. Evita-se perder um tempo precioso.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Re: MySQL - ibdata1
Olá Maligno,
Vou tentar a sua sugestão.
[]´s
Vou tentar a sua sugestão.
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Re: MySQL - ibdata1
Olá Maligno,
Não consegui pela sua dica, alguem que me le sabe como faze-lo?
[]´s
Não consegui pela sua dica, alguem que me le sabe como faze-lo?
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Re: MySQL - ibdata1
Agora que olhei o diretório do meu MySQL (só tenho pra teste
. Na instalação é incluído um utilitário de linha de comando chamado "myisampack.exe", que faz justamente o que você precisa. Aliás, faz back-up também. Só não sei dizer se esse back-up comprime as tabelas, como eu havia mencionado antes. Seria lógico esperar que comprimisse. Afinal de contas, não há motivo pra fazer cópia de lixo. Mas está aí um bom teste pra você fazer.
Mas antes de executar, (faça cópia do seu banco, claro, e...) leia o "help" de linha, executando-o sem qualquer argumento. Há algumas observações importantes lá. Inclusive, parece que depois do processo a tabela se torna read-only (vi num site) e as chaves de índices não são atualizadas (o programa diz isso), o que torna necessário executar outro utilitário: "myisamchk.exe" para reconstruir os índices.
Tem outro utilitário na minha instalação, chamado "pack_isam.exe", que parece idêntico ao outro, apesar do tamanho do EXE ser ligeiramente menor. Não sei se faz o mesmo efeito. Tudo indica que sim. Mas aí você pode dar uma lida no help e descobrir.
Faça os testes. E depois, por favor, conte-nos o resultado. Assim, o pessoal que usa esse banco ficará atualizado sobre esse assunto. Aliás, pelo que me consta, essa matéria ainda não foi discutida no fórum.
Mas antes de executar, (faça cópia do seu banco, claro, e...) leia o "help" de linha, executando-o sem qualquer argumento. Há algumas observações importantes lá. Inclusive, parece que depois do processo a tabela se torna read-only (vi num site) e as chaves de índices não são atualizadas (o programa diz isso), o que torna necessário executar outro utilitário: "myisamchk.exe" para reconstruir os índices.
Tem outro utilitário na minha instalação, chamado "pack_isam.exe", que parece idêntico ao outro, apesar do tamanho do EXE ser ligeiramente menor. Não sei se faz o mesmo efeito. Tudo indica que sim. Mas aí você pode dar uma lida no help e descobrir.
Faça os testes. E depois, por favor, conte-nos o resultado. Assim, o pessoal que usa esse banco ficará atualizado sobre esse assunto. Aliás, pelo que me consta, essa matéria ainda não foi discutida no fórum.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Re: MySQL - ibdata1
Olá Maligno,
Este exemplo só funciona com tabelas MyISAM no meu caso estou usando InnoDB.
Eu resolvi da maneira bem lusitana.
1-Faço um backup full do esquema pela ferramenta: Mysqladministrator
2-Removo a instancia do MySql:
net stop mysql
mysqld --remove
3-Apago todo o conteúdo da pasta c:\mysql\data
4-Copio um mysql (zerado, original sem dados) para a mesma pasta
5-Restauro a instancia de novo, pra isso eu criei 2 bats: instala.bat e remove.bat
----------------------------
instala.bat:
mysqld install
net start mysql
----------------------------
remove.bat:
net stop mysql
mysqld --remove
----------------------------
6-Executo o mysqladministrator e faço um restore do backup
7-Crio o usuário do sistema e defino os seus previlégios novamente.
Pronto, o arquivo ibdata1 está enxuto.
Aceito sugestões para este procedimento.
[]´s
Este exemplo só funciona com tabelas MyISAM no meu caso estou usando InnoDB.
Eu resolvi da maneira bem lusitana.
1-Faço um backup full do esquema pela ferramenta: Mysqladministrator
2-Removo a instancia do MySql:
net stop mysql
mysqld --remove
3-Apago todo o conteúdo da pasta c:\mysql\data
4-Copio um mysql (zerado, original sem dados) para a mesma pasta
5-Restauro a instancia de novo, pra isso eu criei 2 bats: instala.bat e remove.bat
----------------------------
instala.bat:
mysqld install
net start mysql
----------------------------
remove.bat:
net stop mysql
mysqld --remove
----------------------------
6-Executo o mysqladministrator e faço um restore do backup
7-Crio o usuário do sistema e defino os seus previlégios novamente.
Pronto, o arquivo ibdata1 está enxuto.
Aceito sugestões para este procedimento.
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Re: MySQL - ibdata1
Ah, sim. Me desculpe. Esqueci que o MySQL tem esse engine também.Este exemplo só funciona com tabelas MyISAM no meu caso estou usando InnoDB.
Então, no final das contas, foi pelo back-up mesmo.Faço um backup full do esquema pela ferramenta: Mysqladministrator
Mas tente não faz disso um exercício regular. Além de dar mais trabalho, em certos casos pode ajudar o servidor, uma vez que a inclusão aproveita os "buracos" deixados pelo apagamento.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Re: MySQL - ibdata1
Olá Maligno,
Exatamente, este procedimento é para quando houver uma expanção muito grande do banco e o tamanho das tabelas + indices forem muito menores do que o alocado. Imagina um banco com 4g e com tabelas e indices somados não chega a 1g. Vale a pena o trabalho até desenvolverem algo automatizado.
Ainda mais que os recursos de máquina são escassos e tem empresa que não gosta de investir em hardware.
O ideal é não fazer isto, contando sempre com espaço disponível no servidor se for o caso.
:)Pos
[]´s
Exatamente, este procedimento é para quando houver uma expanção muito grande do banco e o tamanho das tabelas + indices forem muito menores do que o alocado. Imagina um banco com 4g e com tabelas e indices somados não chega a 1g. Vale a pena o trabalho até desenvolverem algo automatizado.
Ainda mais que os recursos de máquina são escassos e tem empresa que não gosta de investir em hardware.
O ideal é não fazer isto, contando sempre com espaço disponível no servidor se for o caso.
:)Pos
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)

