Thread:Project:Support desk/Mediawiki mysql and importDump restore failures from 1.6.6 to 1.17.0.


 * Summary:
 * I have SQL and XML backups of a 1.6.6 mediawiki install that I am trying to update. The mediawiki is pure vanilla.  The only extension I have used is the math (Latex, Ocaml) package.  I had no trouble restoring an earlier backup to a 1.10.1 version with mysql, so I did not anticipate any problems with this.  However:
 * "mysql my_wiki < backup.sql" dies, reporting: "ERROR 1071 (42000) at line 43: Specified key was too long; max key length is 1000 bytes"
 * "php importDump.php backup.xml.gz" dies, reporting "PHP Fatal error: Call to a member function current on a non-object in /srv/www/htdocs/s/mw1165/includes/TitleArray.php on line 43"
 * I have browsed your Manual: pages, which tell me the upgrade process works [or worked] smoothly. I have browsed your Support Desk pages and found both of these problems mentioned, but no direct answers on how to deal with them.
 * The first one was reported to MySQL in 2004 Bug #4541 and is apparently still open, so somebody has clearly gotten around it.
 * The second one has been around for over 9 months: importDump.php error with no response.
 * I am minimally competent with PHP and MySQL, so I would greatly appreciate it if someone could guide me through these issues.
 * In exchange I offer to revisit Manual:Upgrading and incorporate what I learn in the process. I am significantly more competent with writing text (and occasionally python), than I am at PHP and MySQL.
 * Details:
 * I have three installations running in VirtualBox VMs:
 * Mediawiki 1.6.6, PHP 5.2.4, MySQL Ver 14.12 Distrib 5.0.45 (openSuSE 10.3)
 * Mediawiki 1.16.5, PHP 5.3.5, MySQL Ver 14.14 Distrib 5.1.53 (openSuSE 11.4)
 * Mediawiki 1.17.0, PHP 5.3.5, MySQL Ver 14.14 Distrib 5.1.53 (openSuSE 11.4)
 * The 1.6.6 version is a full restore of my backup, but with intermittent functioning of the math extension and an unsupported OS. The other two are both unable to import the backup.  Both give the error messages shown above.
 * If someone can answer these questions, I can probably do the upgrade, and explain it to others.
 * 1) How does one tell whether MySQL is using the MyISAM or the InnoDB engine?  The install script recommends InnoDB but the Manual: pages recommend MyISAM.  I chose InnoDB during the install, but the restore specifically says: "ENGINE=MyISAM".  How can I tell which engine MySQL thinks it is using for this table?  My LocalSettings.php sets $wgDBTableOptions = "ENGINE=MyISAM, DEFAULT CHARSET=utf8"; but that doesn't assure me that MySQL is set to MyISAM.
 * 2) The mysql error message points at the very first CREATE: "CREATE TABLE `xexternallinks`" where "x" is the table prefix.  There clearly is a conversion routine somewhere, since the structure of the KEY in this table in the recent installs is quite different from 1.6.6.  How can I do that conversion?
 * 3) The importDump error points at the very first HTML link in the originally installed home page: "* Configuration settings list".  What can I do to get the importDump script to work?
 * In both of these cases, the script appears to die when it gets to its first substantive task. That leaves me concerned that fixing the first problem will simply lead to other ones.  Should I take Tim Starling at his word: There are no open bug reports regarding upgrading from 1.3 to 1.13. The vast majority of reports indicate that it works just fine -- and only upgrade to 1.13?  I have a copy of the 1.13.2 installer in my archives.
 * Incidentally, his comment points to a mailing-list link, which in turn points to upgradeTest.py. That link is broken.  The SVN toolset has been moved.  The correct link is http://svn.wikimedia.org/viewvc/mediawiki/trunk/tools/upgrade-test/upgradeTest.py?view=markup
 * Thanks in advance for any help you can give me!