Esse problema ocorreu quando fiz um backup do banco de dados (BANCO_TESTE) mysql simplesmente copiando os arquivos (/var/lib/mysql). O mysql deve ter algum mecanismo, que ainda não descobri o que é, que bloqueia a escrita nesses casos.
Para contornar o problema, procedi da seguinte maneira:
- Todos os passos devem ser efetuados com o usuário root do mysql.
- Fiz um dump do banco de dados BANCO_TESTE (a senha é grudado no "p" mesmo):
mysqldump -u root -psenha_root BANCO_TESTE > BANCO_TESTE-backup.sql
- Entrei no console mysql:
mysql -u root -psenha_root
- Apaguei o banco de dados problemático (atente-se ao ";" pois é sql):
drop database BANCO_TESTE;
- Criei um novo banco de dados:
create database BANCO_TESTE;
- Atribuí permissões ao usuário no novo banco de dados de qualquer domínio:
GRANT ALL PRIVILEGES ON 'BANCO_TESTE'.* TO 'usuario_do_banco_teste'@'%';
- Saí do console (\q é um parâmetro do console mysql):
\q
- Recuperei o backup:
mysql -u root -psenha_root BANCO_TESTE < BANCO_TESTE-backup.sql
- Pronto, a partir daí tudo funcionou perfeitamente.
[Dicas]
- Se for fazer backup de um banco de dados nunca copie os arquivos! Principalmente se for postgres (ele é mais seguro que o mysql, nem deixa executar o serviço).
Sempre utilize as ferramentas de dump: mysqldump para o mysql ou pg_dump para o postgres.
Mostrando postagens com marcador recuperar backup de banco de dados. Mostrar todas as postagens
Mostrando postagens com marcador recuperar backup de banco de dados. Mostrar todas as postagens
sexta-feira, 16 de janeiro de 2009
Assinar:
Postagens (Atom)