Cópias de segurança em MySQL
Dicas para fazer uma cópia de segurança e métodos disponíveis para o fazer.Por Carlos Cuenca Díaz
Publicado em: 05/9/04
O gestor de Bases de dados MySQL incluem varias ferramentas para a realização de copias de segurança da base de dados. Através delas poderemos por a salvo os nossos dados, para que, no hipotético caso de que se percam, poder recupera-los.
Na hora de fazer uma cópia de segurança, o primeiro que há que ter em conta é a integridade dos dados que se estão a guardar. Em todos os casos é necessário que haja integridade nos dados de uma tabela, com isto quero dizer que todos os dados da tabela deverão estar escritos na tabela, isto pode parecer um pouco estranho, mas tal e como acontece com todos os gestores de bases de dados, MySQL dispõem de diversas "cachês" nas que se armazenam dados temporalmente com o objetivo de melhorar o rendimento, de forma que por exemplo, uma vez feita uma modificação numa tabela, pode ser que os dados não se guardem imediatamente em disco, até que termine, por exemplo, uma consulta que se estava a executar. Por isso, é necessário "forçar" MySQL a escrever todos os dados em disco, mediante a sentença "Flush Tables".
Para além disto, é necessário que não se escreva nas tabelas enquanto se está a fazer a cóºpia de segurança da base de dados. Isto faz-se através do comando "lock tables", seguido do nome da tabela. Pode haver bases de dados nas que seja necessário bloquear todas as tabelas ao mesmo tempo antes de fazer a cópia de segurança.
Existem várias opções para realizar a cópia de segurança de uma base de dados MySQL.
- Em primeiro lugar, podíamos utilizar alguma ferramenta comercial que gira todo o processo, isto tem como vantagens a simplicidade do método, e como inconveniente, que não costuma ser grátis, sendo necessário pagar uma licença pela sua utilização. Estas ferramentas não se analisarão neste artigo.
- Em segundo lugar, e a partir da versão 3.23.25 e posteriores, existe a possibilidade de realizar uma cópia de segurança através da sentença sql "backup table".
- Como terceira opção, é possível realizar cópias de segurança através das ferramentas que nos proporciona o próprio gestor de bases de dados, como podem ser mysqldump ou mysqlhotcopy.