No announcement yet.

Cannot get old forum to work again

  • Filter
  • Time
  • Show
Clear All
new posts

  • Cannot get old forum to work again


    I am trying to restore a forum which was taken down about a year and a half ago and was working properly at the time.

    I am now trying to restore it and not having much luck as I can't seem to restore the database.

    If I restore the database through MySQL Administrator it gets as far as the attachments table and then I get lots of errors about queries not being valid and then no database selected for the remainder (probably caused by the first error). I believe thiis is to do with the encoding type and the binary data which is being wrongly interpreted by MSQL Administrator.

    Using MySQL on the command line does appear to successfully import the entire database only giving a single warning about a duplicate key but when I try to visit the forum I get the error below.

    I have already tried repairing and optimising the tables and have copied the tools.php into both the admin and install dirs and when I try to run tools.php it still gives me the same error (which tells me to run tools.php) so I'm a bit stuck!

    I've also tried toggling mysql/mysqli.
    If I put the wrong username and password into config.php then I just get a blank screen rather than the error.
    I am using the latest version of MySQL and PHP which will be newer than what the site was originally running. Could this have caused the problem?

    All the tables appear to be intact with readable data in them and were imported as latin1 which was what the original database was using.

    Both the original and the new server are windows servers running IIS with PHP extensions.
    The new server successfully runs other PHP and mysql sites including a moodle site and everything works ok.
    I do get an internal server error if I try to go to /install/install.php or upgrade.php though???

    Please can someone suggest anything else I can try or how I can fix this?


    vBulletin datastore error caused by one or more of the following:[LIST=1][*]You may have uploaded vBulletin 3.6 files without also running the vBulletin upgrade script. If you have not run the upgrade script, do so now.[*]The datastore cache may have been corrupted. Run [I]Rebuild Bitfields[/I] from [I]tools.php[/I], which you can upload from the [I]do_not_upload[/I] folder of the vBulletin package.[/LIST]
    [B]Fatal error:[/B] vBulletin datastore cache incomplete or corrupt in [B]\includes\init.php[/B] on line [B]210[/B]

  • #2
    I have now located the original Vbulletin installation and tried to use the unmodified files to display the site but again I get an error telling me to run tools.php.

    Then I tried connecting to a new blank database and running through the default install and it worked, except obviously it is just a fresh install which is missing all the posts and members from before. It does prove the issue is not server related though.

    Even restoring a single table of the backup I am trying to restore such as the forums table causes the site to come up blank.

    I did notice that the new tables created by the install go in as UTF8 and InnoDB wheras if I restore the backup it is latin1 myASM.

    I can't think of anything to try at the moment.
    Please let me know if there are any fixes for this.



    • #3
      I think I have found the issue

      It seems to be related to the fact that Vbulletin uses a few keywords in table names and these columns are missing after the import.
      Examples are "unserialize" in the datacache table and "datatype" in the security table.

      Can I stop mysql imports trying to interpret these keywords?



      • #4
        When I try to restore the database through mysql shell (mysql –uUSER –pPASS dbname < dbfile.sql it is ignoring any columns which contain key words in them and it seems there are many.

        If I create the columns manually then it starts to work and the columns exist in the sql backup but it isn’t liking things such as this:
        INSERT into table (field1, field2, UNSERIALIZE, field4) VALUES …

        Instead it ignores the field called “UNSERIALIZE” and does the following:
        INSERT into table (field1, field2, field4) VALUES …

        So the forums do not work and give errors such as “unknown column "UNSERIALIZE" in field list” (or something like that)

        I think it may be due to the way the forums were exported. I think if the table names had had a ' or a ` around them then it would have worked. Or am I wrong?
        The trouble is now the database only exists as the .sql export so I can't re-export it.

        It could be difficult to do a find/replace on such a big file as well.
        Can anyone help?



        • #5
          I'm not an expert on databases, but have you upgraded your mysql since you made your backup of your site? Perhaps that is the issue here. I'm not sure what the solution is though but you may want to post this in the Server Configuration forum

          Please don't PM or VM me for support - I only help out in the threads.
          vBulletin Manual & vBulletin 4.0 Code Documentation (API)
          Want help modifying your vbulletin forum? Head on over to
          If I post CSS and you don't know where it goes, throw it into the additional.css template.

          W3Schools &lt;- awesome site for html/css help


          • #6
            Hello Lynne

            Thanks for the reply.

            I have tried importing into different versions of MySQL on Linux and Windows servers but am always hit with the same issue.

            I think the problem is to do with the absence of quoted identifiers around the table and field names in the statements but I'm not sure how to get these added easily into a file which is a few hundred MBs in size.

            I think I need to turn this:
            INSERT INTO TABLE (col1, col2, col3) VALUES ("val1", "val2", "val3")
            into this:
            INSERT INTO `TABLE` (`col1`, `col2`, `col3`) VALUES ("val1", "val2", "val3")

            This only matters because VBulletin uses many keywords as column and table names.

            Is there any kind of SQL tokenizer available which could perform this function?

            Following you advice I have posted a thread in the Server Configuration forum to ask these questions.
            It is here:

            Last edited by robinwilson16; Mon 15 Feb '10, 3:32am.


            widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.