I did this app a time ago (~1 year) with Doctrine2+Symfony2 with simple Entities basically I was mimicking an excel sheet copying the values from the sheet to the database and setting all up for web usage.

The main Class was Item, this had Sub Entities Location, Protocol, State, etc…

These named here Location, Protocol, State had the same properties (fields), they also had to have a incrementable “Code” field witch, this was a basic copy paste to fill the tables and increment the number. Didn’t want to write the code to the different Entities so I used a Trait in a very lazy way I declared

So in a easy use TautoFill I got the data auto inserted and related to the main Item, without much work. Using a trait made the code more dynamic and easier to reimplement in the different situations without compromising hierarchy of the Entities.

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).

“The NY Times reports that German encryption expert Karsten Nohl says that he has deciphered and published the 21-year-old GSM algorithm, the secret code used to encrypt most of the world’s digital mobile phone calls, in what he called an attempt to expose weaknesses in the security system used by about 3.5 billion of the 4.3 billion wireless connections across the globe. Others have cracked the A5/1 encryption technology used in GSM before, but their results have remained secret. ‘This shows that existing GSM security is inadequate,’ Nohl told about 600 people attending the Chaos Communication Congress. ‘We are trying to push operators to adopt better security measures for mobile phone calls.’The GSM Association, the industry group based in London that devised the algorithm and represents wireless operators, called Mr. Nohl’s efforts illegal and said they overstated the security threat to wireless calls. ‘This is theoretically possible but practically unlikely,’ says Claire Cranton, a GSM spokeswoman, noting that no one else had broken the code since its adoption. ‘What he is doing would be illegal in Britain and the United States. To do this while supposedly being concerned about privacy is beyond me.’ Simon Bransfield-Garth, the chief executive of Cellcrypt, says Nohl’s efforts could put sophisticated mobile interception technology — limited to governments and intelligence agencies — within the reach of any reasonable well-funded criminal organization. ‘This will reduce the time to break a GSM call from weeks to hours,’ Bransfield-Garth says. ‘We expect as this further develops it will be reduced to minutes.'”