PDA

View Full Version : S.O.S. Database Error: vb_session table has mysteriously disappeared!


Fredatitulip
03-02-2017, 08:10 PM
Hi everyone,

We current use vBulletin 4.2.2 (Patch level 4) for our forums at iTulip, and is considering to upgrade to VB 5.

However, sadly to report that after our hosting company Media Temple's MySQL upgrade, we are having database error ->
"Warning: mysqli_query(): (42S02/1146): Table '.vb_session' doesn't exist in ..../includes/class_core.php on line 1393"

Somehow vb_session table has mysteriously disappeared from our database about a week ago. We are unable to run VB at our site without vb_session table.

I suspect vb_session table (and there might be more set of tables?) was corrupted, or some aspect of vb 4.2.2 is not compatible with the upgrade version of MySQL that is running on our hosting server.

And worse, Media Temple does not have database backup for us that go back to a week ago! And that means we cannot restore the content of our forum and run VB at all!!

So, I'm writing and desperately need all the expertise and help I can get at this forum to help advise -

1. What can we do to recreate vb_session table, as well as to restore our database back to the point before vb_session table was corrupted?

2. Can upgrade to VB 5 solve the problem and 'restore' our database back to the point before vb_session table was corrupted?

A fyi, our vb 4.2.2. was using PHP 5.3.29 before Media Templeb MySQL upgrade and using PHP 5.6.21 after upgrade.

Can anyone help?

Dave
03-02-2017, 08:55 PM
1. You can't restore it to a point in history without backups I'm afraid. As for the session table, if this is the only missing table then you're lucky because it only stores (non-critical) data temporarily. Execute the following query in a MySQL console, through PHPMyAdmin or ask your host to execute it against your database:

CREATE TABLE vb_session (
sessionhash CHAR(32) NOT NULL DEFAULT '',
userid INT UNSIGNED NOT NULL DEFAULT '0',
host CHAR(15) NOT NULL DEFAULT '',
idhash CHAR(32) NOT NULL DEFAULT '',
lastactivity INT UNSIGNED NOT NULL DEFAULT '0',
location VARCHAR(255) NOT NULL DEFAULT '',
useragent VARCHAR(255) NOT NULL DEFAULT '',
styleid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
languageid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
loggedin SMALLINT UNSIGNED NOT NULL DEFAULT '0',
inforum SMALLINT UNSIGNED NOT NULL DEFAULT '0',
inthread INT UNSIGNED NOT NULL DEFAULT '0',
incalendar SMALLINT UNSIGNED NOT NULL DEFAULT '0',
badlocation SMALLINT UNSIGNED NOT NULL DEFAULT '0',
bypass TINYINT NOT NULL DEFAULT '0',
profileupdate SMALLINT UNSIGNED NOT NULL DEFAULT '0',
apiclientid INT UNSIGNED NOT NULL DEFAULT '0',
apiaccesstoken VARCHAR(32) NOT NULL DEFAULT '',
isbot TINYINT NOT NULL DEFAULT '0',
PRIMARY KEY (sessionhash),
KEY last_activity USING BTREE (lastactivity),
KEY user_activity USING BTREE (userid, lastactivity),
KEY guest_lookup (idhash, host, userid),
KEY apiaccesstoken (apiaccesstoken)
) ENGINE = MEMORY

It's entirely possible that more tables are missing, but just execute this first to find out if it's the only table that's missing.

2. I wouldn't do that. I would first fix it so your current vBulletin 4 forum is working and then upgrade to vBulletin 5.

---

I don't see how a MySQL upgrade could cause this though, your host did something very wrong. If this happened to me, I would move host right away.

Also just a tip: keep offline backups, on your own computer or on a different server so you will not have such issues in the future.

Paul M
03-02-2017, 09:36 PM
We current use vBulletin 4.2.2 (Patch level 4) for our forums at iTulip, and is considering to upgrade to VB 5.
Might I ask why ?

Fredatitulip
03-02-2017, 10:13 PM
Much obliged Dave!

Run the Query and our vb is up running at the moment. Haven't yet to investigate what else may have corrupted but it shows a warning ->
"Warning: gmmktime(): You should be using the time() function instead in ..../includes/functions_notice.php on line 284"

Any idea about this warning?

Just discovered another problem -

1. After logged in as Admin to forums webpage and clicked 'Admin' tab on the bottom of forums webpage, I got: HTP404 error at http://www.itulip.com/forums/admincp/index.php

2. Attempted to login as admin from my booked vb admin url (http://www.itulip.com/forums/advp/index.php?) - I got this:

"Warning: mysqli_query(): (42S02/1146): Table '.vb_cpsession' doesn't exist in ..../includes/class_core.php on line 1393"

Very strange, eitherway, I'm unable to access vb admin cp. What should I do?

Thanks millions for your help Dave. I'll have serious talk with Media Temple once I got our forum back and running.

1. You can't restore it to a point in history without backups I'm afraid. As for the session table, if this is the only missing table then you're lucky because it only stores (non-critical) data temporarily. Execute the following query in a MySQL console, through PHPMyAdmin or ask your host to execute it against your database:

CREATE TABLE vb_session (
sessionhash CHAR(32) NOT NULL DEFAULT '',
userid INT UNSIGNED NOT NULL DEFAULT '0',
host CHAR(15) NOT NULL DEFAULT '',
idhash CHAR(32) NOT NULL DEFAULT '',
lastactivity INT UNSIGNED NOT NULL DEFAULT '0',
location VARCHAR(255) NOT NULL DEFAULT '',
useragent VARCHAR(255) NOT NULL DEFAULT '',
styleid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
languageid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
loggedin SMALLINT UNSIGNED NOT NULL DEFAULT '0',
inforum SMALLINT UNSIGNED NOT NULL DEFAULT '0',
inthread INT UNSIGNED NOT NULL DEFAULT '0',
incalendar SMALLINT UNSIGNED NOT NULL DEFAULT '0',
badlocation SMALLINT UNSIGNED NOT NULL DEFAULT '0',
bypass TINYINT NOT NULL DEFAULT '0',
profileupdate SMALLINT UNSIGNED NOT NULL DEFAULT '0',
apiclientid INT UNSIGNED NOT NULL DEFAULT '0',
apiaccesstoken VARCHAR(32) NOT NULL DEFAULT '',
isbot TINYINT NOT NULL DEFAULT '0',
PRIMARY KEY (sessionhash),
KEY last_activity USING BTREE (lastactivity),
KEY user_activity USING BTREE (userid, lastactivity),
KEY guest_lookup (idhash, host, userid),
KEY apiaccesstoken (apiaccesstoken)
) ENGINE = MEMORY

It's entirely possible that more tables are missing, but just execute this first to find out if it's the only table that's missing.

2. I wouldn't do that. I would first fix it so your current vBulletin 4 forum is working and then upgrade to vBulletin 5.

---

I don't see how a MySQL upgrade could cause this though, your host did something very wrong. If this happened to me, I would move host right away.

Also just a tip: keep offline backups, on your own computer or on a different server so you will not have such issues in the future.

Lynne
03-03-2017, 02:14 AM
For your vb_cpsession table:

CREATE TABLE vb_cpsession (
userid INT UNSIGNED NOT NULL DEFAULT '0',
hash VARCHAR(32) NOT NULL DEFAULT '',
dateline INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (userid, hash)
) ENGINE = MEMORY

Fredatitulip
03-03-2017, 10:46 AM
Thank you so much Lynne! - able to access Admin CP now.