Sunday, May 20, 2012
Blog Entries

Warning: The Plesk database is corrupt. Please launch the Reconfigurator utility to fix it

Jan 8

Written by:
1/8/2009 1:52 PM  RssIcon

Here is a problem experienced recently... and a solution!
 
Using Plesk 8.6.0 for Windows, I removed an SSL certificate from a domain and then added a new one back. When I went to Server > IP Addresses > 208.109.105.22, I saw the message:
 
Warning: The Plesk database is corrupt. Please launch the Reconfigurator utility to fix it
 
I also did NOT see the new certificate I had added in the combobox of certificates.
 
I launched Reconfigurator and ran all the fixes, but the problem still persisted. I rebooted the server a number of times and that did not help.
 
This problem has been reported by three other users in the thread The Plesk database is corrupt.
 
There is a Plesk Knowledge Base article about exactly this problem titled [FIX] Plesk database corruption warning on IP address management page
 
However, when I ran the command listed (substituting my Plesk password for " ", I got the error:
 
   ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
 
So I needed some advice on how to resolve the problem. GoDaddy Support responded:
 
The instructions provided on the Plesk site are only for use when the Plesk database engine is MySQL. Plesk on a Windows server by default uses an Access database. This can be changed through the Plesk Reconfigurator utility if you wish however I recommend attempting to correct this issue before changing the database engine. Unfortunately we will not be able to remove a database entry for you however you can download an Access viewer/editor that will allow you to view and make changes on the database directly.
 
So then the search began to find a simple way to edit the Access database file short of installing Access over the net onto my web server. The key find was that Visual Studio's Server Explorer can open and edit Access databases. So here is an outline of how I solved the problem:
  1. On the web server, navigate to %plesk_dir%\admin\db. There you should find the Microsoft Access database files psa.mdb and psa.ldb. 
  2. Make a copy of  these files as a backup (Ctrl+C, Ctrl+V).
  3. Copy these files to a computer with Visual Studio (or Access) installed.
  4. Open the database (in VS, use Server Explorer), open the "repository" and "certificates" tables.
  5. Manually implement the SQL statement

    delete from repository where rep_id=1 and component_id not in (select id from certificates);

    Note: I found the repository rep_id, component_ids to be:

    1, 1
    1, 2
    1, 3
    1, 4

    However, the certificate IDs were 1, 2, 3 and 10. So instead of deleting the row, I modified the value from "4" to "10".
     
  6. Copy the two database files back to the server.
  7. Try reproducing the problem in Plesk. The problem went away for me!

I hope this works for you as well!

Tags:
Categories:
Location: Blogs Parent Separator Blogs
Search Blog
Privacy Statement  |  Terms Of Use
Copyright 2007-2011 by Larry Daniele