Our site is now trying to recover from some major database corruption, and possibly the only option open to us will be reconstruction.
We operate a MediaWiki encyclopedia-type site with versions in English and in seven other languages. We use the latest version of MediaWiki running on a LAMP (Linux-Apache-MySQL-PHP) stack. For years our English site had been running Semantic MediaWiki and was up to version 0.7 of that then-experimental extension. About a month before our troubles began, we installed SMW 1.0 RC2.
One day we noticed that our edits would not save, because MySQL was complaining that a particular table was missing. The table seemed to be there--or at least phpMyAdmin said it was--but whenever one of us tried to browse it, we got an error message referencing error code 1017. Now I have found nothing on any MySQL forum that has any solution for Error Code 1017 other than dropping the table and re-creating it from a script.
I started to investigate further. To summarize my findings, four of our sites had damage to enough tables to make editing impossible, but not enough to stop the sites from loading or make them unreadable. So I was able to restore the sites to functionality, but only by dropping and recreating the affected tables.
But the other four sites had so many tables reporting Error Code 1017 that the content is effectively gone.
Strangely, the problems did not arise until two days after a backup was done. So when we saw the problems, I naturally recommended restoration from backup. Lo and behold, even the backups were corrupt, and in exactly the same way--this although we had been working with our databases for two days since.
Recently, after much labor, we have managed to get a detailed look at those backups. I looked around in them and found that the only files available are files having the extension .frm. The files with extensions .MYD and .MYI are missing--and without those files, restoration of the contents of those tables is impossible.
We conclude that when the backups were done, some key filesystem permissions had not been granted or had somehow been reset, and no one knew what had been done until it was too late. As a result, nothing was copied except some MySQL headers--no content, and no indices. At first this affected the backup, and then two days later it affected the actual database, forcing us to consider reconstruction.
Has anyone else seen anything like this?
TerryH


LinkBack URL
About LinkBacks



Reply With Quote


Bookmarks