News:

Wondering if this will always be free?  See why free is better.

Main Menu

Database problems after migrations to MySQL 5

Started by martin667, April 30, 2013, 06:03:39 AM

Previous topic - Next topic

martin667

Hello,

Forum version: SMF 2.0.4

Mods:
Aeva ~ Auto-Embed Video & Audio    7.1


I recently migrated from MySQL 4 to MySQL 5.1. I pulled a complete backup and imported it into the new database. Then I changed the connection settings of course. That's it.

Since then I'm running into server load problems which are cause by the mysql database. I opened another topic yesterday which points in the same direction but I'm just realizing how all this is connected: http://www.simplemachines.org/community/index.php?topic=502793.0

So today I ran the Maintenance Routine in Admin Menu: Find and repair any errors

Here is the result (what are those ??? supposed to mean and should I try to fix them?!):

Listing of forum errors
The following errors are fouling up your forum:
???
Would you like to attempt to fix these errors?

Yes - No



I'll start a database back up now before I continue to do anything. Just wanted to make that post here first in case someone has some advice for me. I guess there was a problem with my database migration. What can I check? What could it be?

martin667

I found one Database error in the SMF Log:

http://www.#.com/smf/index.php?action=register2
Database Error: Duplicate entry '1-32013-display_quick_reply' for key 'PRIMARY'
File: /smf/Sources/Subs-Members.php

Does that seem critical in some way?

Oldiesmann

The "???" basically means there was a problem with the find/repair process - it found something to repair, but it doesn't have any information to tell you what needs to be fixed (the process uses two arrays - one containing internal information about what needs to be fixed and one containing text strings to tell you what needs to be fixed):

if (!isset($_GET['fixErrors']))
{
$context['error_search'] = true;
$context['repair_errors'] = array();
$context['to_fix'] = findForumErrors();

if (!empty($context['to_fix']))
{
$_SESSION['repairboards_to_fix'] = $context['to_fix'];
$_SESSION['repairboards_to_fix2'] = null;

if (empty($context['repair_errors']))
$context['repair_errors'][] = '???';
}
}


What happens if you click "Yes"?

The other error means that a setting for that user and theme already exists in the database ("display_quick_reply" for user 32013 and theme 1 in this case). I'm not sure what could cause that to happen really, but if it's just a single error (and not happening every time someone tries to register), it should be safe to ignore.
Michael Eshom
Christian Metal Fans

martin667

Ok, I clicked Yes and it seemed to repair a bunch of errors and said that everything was fixed afterwards.

However, I'm still very concerned about the database load problems. This morning I had to call my webhoster to get the database service restarted because it caused such high load that the whole server was unavailable.


Advertisement: