I'm not totally sure on what the story is, but it goes something like this:

  • Professor works on a project at some other University
  • The researchers save all their data in a wiki
  • Project no longer gets funding so they shut it down
  • Wiki instantly becomes disabled and they lost all their work

We were able to talk to that university and get a backup copy of the wiki so we could repurpose it here. The problem is, looks like they just "copied" the wiki directories from the server backup and sent it to us. I have no wiki experience here, but it's my understanding that a wiki must be exported using special:export, then imported using special:import. The files given are not importable.

It's split into a couple of folders.

  • Project 1
  • mysql-data
  • Project 2

Project 1 has files like the following: AdminSettings.php, bin, config, COPYING (UNIX executable), docs, extensions, FAQ (UNIX executable), HISTORY (UNIX executable), images, img_auth.php, includes, index.php, INSTALL (UNIX executable), languages, locale, etc etc. Unless otherwise stated, the things listed are directories.

Mysql-data has lots of ".frm" files, which apparently are "Form created by various programs; used to define fields within tables; may also store database data, depending on the format."

Project 2 is the nearly exactly the same as Project 1.

The professor claims this wiki is -critical- to her research, so I guess I have to get it up and running. Suggestions on where to go with what I have? Is it even a wiki in it's current form? How do I get this installed?


  • What wiki software is this? – theotherreceive Jul 27 '09 at 17:49
  • Reading through some of the UNIX executable files, it looks like mediawiki. – nullArray Jul 27 '09 at 17:56
  • It's tagged mediawiki – Mark Henderson Jul 28 '09 at 2:37

I see AdminSettings.php so this is almost certainly a MediaWiki installation. What you are going to want to do is emulate the old system that this was hosted on, most likely a LAMP setup (Linux, Apache, MySQL, PHP). Essentially, you are going to want to do the following steps (very much simplified):

  1. Build new LAMP server
  2. Copy data to public_html or /var/www/
  3. Import database to MySQL
  4. Modify LocalSettings.php to fit your local system
  5. Get data from there.

Also, Special:Export and Special:Import would work as well. The advantage to doing this the way I listed above is that you will have exactly the same environment that was at the old university, if they made any modifications to the site.

  • Thanks. I'll forward this to my boss. We would have loved to export/import, but the other university already removed the wiki and deleted the backup after giving us the files. – nullArray Jul 27 '09 at 17:52

Unless that "copy" contains the database files in the mysql-data (.myd) then it probably does not have the data you are looking for. If you do have the .MYD file, then you have the actual MySQL database that the Wiki was run against and you should be able to attach that to another MySQL instance and query the data there.

  • Yes, I have the MYD files! How do I "attach this" to another MySQL instance? Do you have a link that explains this? – nullArray Jul 27 '09 at 17:49

This isn't really useful for your particular application, and I'm not sure how scalable a solution it is, but DokuWiki stores all its data as text files in an open format. Should Bad Things happen like this, it becomes a godsend as the data is readable by human beings. It might be a good idea to suggest its use in the future to researchers at your University, especially the ones who aren't working on ultra-secret projects.

  • Thanks for the suggestion. I'll recommend that to our professors who work with other universities. – nullArray Jul 27 '09 at 18:40
  • 1
    Off the top of my head, other solutions that use flat-files are Perl: TWiki and FosWiki (the latter is a fork of the former) and Python: MoinMoin so you've got plenty of options out there :). – Frenchie Jul 27 '09 at 23:52

You may be able to attach the myd to another mysql instance by stopping the server and copying them into the database data directory. I would strongly reccomend you setup a temporary server beforehand but at the very least, you should take a proper backup of your pre-existing data using mysqldump.

After copying the files, make sure they're owned by the mysql user so the process can write changes. If they backed up the binary files from a running server you may have some issues. Last time I had to try this particular process, it was on debian and the startup script performed some of its own sanity and cleanup before starting.

Once you've got the database up and running mysqldump out the databases so you've got them in flat text. Before you import them elsewhere, check over them to make sure they won't do anything nasty to your production server and then import them on that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.