Mostrando postagens com marcador mysql. Mostrar todas as postagens
Mostrando postagens com marcador mysql. Mostrar todas as postagens

sexta-feira, 16 de janeiro de 2009

mysql ERROR 1036 (HY000) Table 'TABELA' is read only

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.

quarta-feira, 3 de setembro de 2008

Instalando LAMP no Debian

LAMP é a abreviação dos serviços de rede para Linux: Apache, MySql e PHP. Abaixo mostro um pequeno passo a passo para instalação desses serviços no Debian.


[Passos prévios]

- O sistema utilizado para a instalação foi debian-40r4a-i386-netinst baixado no site http://www.debian.org/distrib/netinst em 01/09/2008 no link http://cdimage.debian.org/debian-cd/4.0_r4a/i386/iso-cd/debian-40r4a-i386-netinst.iso
É necessário que seja i386 por causa das versões dos fontes que utilizaremos.

- Autentique-se como root no sistema para efetuar todos os passos desta explicação.

- Adicione a linha abaixo no arquivo /etc/apt/source.list para manter o apt-get atualizado:
deb http://ftp.br.debian.org/debian etch main contrib

- Após adicionada a linha, atualize o apt-get com o comando abaixo:
#apt-get update


[Instalação]

- Baixe e instale os pacotes LAMP e suas dependências com o comando abaixo. Nota: aceite todas as dependências.
#apt-get install apache2 mysql-server php5 php5-mysql php5-cli

Sobre os pacotes:
apache2: servidor web
mysql-server: servidor de banco de dados
php5: linguagem de programação para web
php5-mysql: integração do php5 com mysql
php5-cli: possibilita executar php na linha de comando do linux. É necessário para muitos scripts funcionarem.

- Como instalação adicional sugiro o phpmyadmin para facilitar o gerenciamento do banco de dados mysql:
#apt-get install phpmyadmin


[Testes]

- Para verificar se a instalação ocorreu com sucesso,Verifique em um browser o endereço http://localhost, geralmento o apache retorna "It works!" para sinalizar que está funcionado
A pasta /var/www é o diretório padrão onde o apache mapeia as páginas web.

- Tente acessar a página http://localhost/phpmyadmin e criar bancos de dados.

- Estando tudo certo, a instalação terminou com sucesso!