You are currently browsing the tag archive for the ‘mysql’ tag.

Engraçado tive um problema parecido mesma mensagem de erro e não tinha nada a ver com a Base de dados o problema é na config do servidor… Foda-se!

Re: ERROR 1033 (HY000): Incorrect information in file
Posted by: Stu Derby ()
Date: October 28, 2007 02:14PM

As best I can tell, this error message is produced whenever the DB is unable to perform INNODB recovery upon restart. The DB needs to assume on restart that it might have crashed, maybe power failure, and so there may be partially stored transactions in the log file that either need to be completed or unwound. If it can’t do that, recovery fails and the tables are therefore inaccessible, with this rather cryptic message.

I ran into this problem when restoring a slave DB, using the backup of the master. Someone had cleverly (not) increased the innodb_log_file_size on the slave but not the master and I was using the master’s data and log files with the slave’s my.cnf The only clues I got were the 1033 error message and the startup error message (in /var/log/mysqld.log on my system):
InnoDB: Error: log file /var/lib/mysql/ib_logfile0 is of different size 0 268435456 bytes
InnoDB: than specified in the .cnf file 0 536870912 bytes!

Making the slave’s log_file_size match the log file copied from the master made everything work (some 12 hours after I started on the problem).

I suspect there are several other ways to get this situation, probably corrupted or missing log files, path problems, etc. It would be nice if the DB would put out an error saying something like “recovery has failed, InnoDB tables not accessible” to help people focus on the earlier error (in my case the log file size issue).

Se 2009 foi um ano de mudanças 2010 não lhe ficou atrás.

Tive uma prenda fantástica em Setembro apesar de não ser o meu aniversário, prenda de 3.296kg e 51 cm de comprimento, algo fantástico e uma esposa que se revelou uma excelente mãe com a ajuda de um excelente pai :P , dos 3.296kg para 5.625kg e dos 51cm para os 60cm de hoje foram 3 Meses fantásticos nesse aspecto toda a evolução (adoro a evolução), o agarrar o rir o espernear-se quando quer colo, “levantar-se” a procura e reclamação pela constante atenção, o alimentar-se de duas em duas horas o evitar que os pais(principalmente a mãe) se afastem durante mais que 1 minuto é no fundo fantástico.

Entre várias complicações monetárias no final podemos dizer que tudo correu como tinha de correr :P (isto não diz nada). Iva a +2% aí vamos nós. Pedido de factura sempre que compro algo tornou-se um MUST estou farto de pagar pelos outros.

Em termos de trabalho o projecto no qual estou inserido tem corrido bem apesar dos solavancos chegou a um ponto estável da aplicação em que permitiu fazer melhoramentos que não tinha tempo nem oportunidade para fazer no principio e não era prioritário naquele momento.

Apercebi-me que quanto mais codigo mantenho comentado é mais provavel que o que eu estou
a fazer não seja 100% seguro.
Os testes unitários nem sempre ajudam a prever todos os problemas os issues de conectividade foram um caso desses ( bem disse que precisava de um switch para inventar com rate limiting e criar outro tipo de problemas, que um simples desligar de cabo não serve para testar ).

#javascript
Impressionante como evolui na web e daquilo que era, “filho da mãe do javascript e os browsers” passou a “assim com javascript fica muito mais user friendly”.

#php
A ideia no projecto desde o principio era criar um auto Loader mas ainda uma certa falta de direcção do projecto e ainda algumas dúvidas colocaram isto para uma feature implementada mais tarde, acabou por ter uma resolução rápida em uma manhã inspirada(?!).
Limpeza do frontend look and feel que acho que não se adequavam à aplicação e após ter usado algum tempo a aplicação de acordo com as necessidades que haviam surgido apercebemos-nos de pontos a melhorar.

#perl
As falhas de conectividade foram uma constante e aquilo que mais provocou problemas, algo que supostamente seria simples com milhares de registo viu-se complicado. Pensei em algo na tentativa de simplicidade e rapidez de execução e após uns tempos revelou-se uma dor de cabeça em termos de
gestão porque coisas que não deveriam acontecer aconteceram (dammit SQL transactions). Para corrigir resumidamente segmentei codigo, alterei codigo e consegui um bom ganho de performance.

#webservices
A tal regra do if it works don’t touch it, aplica-se aqui. Resincronizar registos de um lado para outro num sistema tipicamente Async é doloroso. Século 21 e alguns sistemas ainda são predominantemente asincronos numa tentativa de ganhar velocidade. Ganha-se velocidade perde-se eficiência e eficácia.
Algo que também se percebeu como já referi anteriomente é que, o que é colocado para testes nem sempre representa o que nos vão enviar para produtivo.

#mysql
Tem respondido bem e na minha opinião nem está optimizado a 100% configurações relativamente basicas mas o novo ano vai puxar por ele (eu pelo menos já fiz codigo para puxar por ele).
InnoDB é algo que deveria ser padrão quando se cria uma tabela.
Calcular uma max+1 de uma tabela nunca me deu tantos problemas como este ano e como método já foi encostado para canto não vá voltar a usa-lo sem querer.
Em falar nisso, temos mais umas tabelas para alterar malta.

#sysadmin
Para uns spam está a deixar de ser um problema eu saí disto à um ano, fiquei com aquilo que se chama a manutenção de serviço, alterar raid 1 para raid 5 é cool mas pode dar chatices, como:
- dear god we have to reboot now
- Resize the disk after reboot
- Where are the files?!
* Comprem a máquina com os slots cheios :P ou então don’t migrate usem nova partição ou espetem LVM em cima parece-me mais simples que alterar o raid.
Nem todo o equipamento que se compra caro vale o cash que se paga.
Nem tudo o que parece facilitar facilita.
Backups continuam a ser um must have e um make sure it’s working. Se possível arranjem alguém só para ver isto.

#sap
Just because it’s expensive it doesn’t mean it’s good. It means it has years in the market and many people got problems, you now don’t have to worry about. Also means a huge system with tons of maintenance and complexity above the normal. Scalability, will talk in the future…

#phpunit
Testes unitários são bons quando temos tempo para os fazer e pensar, em muitos casos ajudam a evitar entrarmos nos mesmos erros quando alteramos codigo.
(esquecia-me de falar deste factor importante de 2010 que foram os testes unitários com phpunit)

Note to self on maildrop

- mailbox_command = /usr/bin/maildrop -d “$USER” -f “$SENDER” “$EXTENSION”
- mbox_command_maps = file
- mailbox_transport master.cf maildrop2 ( differs litely from maildrop )
- .forward

All these result on temporary fails… Since that happen’s had to activate
* maximal_queue_lifetime = 5m

- mailbox_transport results on
orig_to=<xyz@domain.pt>, relay=maildrop2, delay=0.04, delays=0.02/0/0/0.02, dsn=4.3.0, status=deferred (temporary failure. Command output: maildrop: authlib: groupid=100)

- mailbox_command results on
status=deferred (temporary failure. Command output: Unable to execute /dev/null Unable to execute /dev/null maildrop: maildir over quota. )

- mbox_command_maps results on
no error when overquota, message just get’s delivered

- .forward results on
relay=local, delay=0.03, delays=0.01/0/0/0.01, dsn=4.3.0, status=deferred (temporary failure. Command output: Unable to execute /dev/null Unable to execute /dev/null maildrop: maildir over quota. )

- local_transport by maildrop2 results in
status=deferred (temporary failure. Command output: maildrop: authlib: groupid=100)

Since I’m not using Virtual Users my option is but system users in passwd…
- mailbox_command

Added : 23 July 2008 , 22:05

Problems
- Unable to create a dot-lock.
. Wrong directory permissions ? dir permissions are ok
. wrong command? Command is correct.
. requires a valid shell ? Yes, need to have a valid shell so maildrop can create the Maildir with maildirmake in  maildroprc or execute other commands.
. .forward does everything ok

Para quem pensa que frameworks é para poupar trabalho podem mudar de ideias ao saber que num caso prático demorei menos tempo a desenvolver uma app com o uso de uma class do phpclasses (developed by me) do que a usar o cake, o cake proporciona uma boa estrutura e tudo mais mas quando pretendemos incorporar o uso de app’s externas o caso complica-se.

De qualquer modo a lógica da aplicação estava feita foi só portar o code demorei nem 8 horas.

A classe que usei foi esta Mysql_class, já a tinha desenvolvido à uns 5 anos atrás mas ainda funciona tive de efectuar umas pequenas correcções, mas valeu a pena a ter criado quando criei. Já desenvolvi muita coisa à volta desta class.

Claro que como ainda era novo e não pensava nos outros o resultado final não foi muito legível.

Um dia faz-se o port para php5 :D

Fotos do Flickr

Paty do alferes, Rio de Janeiro

Rua perto de Notre Dame

Trocadero garden

Parc Monceau

Topo das casas na Rue Renequin

Notre Dame

More Photos

MyBookmarks

My Amazon.com Wish List
Seguir

Get every new post delivered to your Inbox.