Warning: The Plesk database is corrupt. Please launch the Reconfigurator utility to fix it
Jan
8
Written by:
1/8/2009 1:52 PM
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.
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:
- On the web server, navigate to %plesk_dir%\admin\db. There you should find the Microsoft Access database files psa.mdb and psa.ldb.
- Make a copy of these files as a backup (Ctrl+C, Ctrl+V).
- Copy these files to a computer with Visual Studio (or Access) installed.
- Open the database (in VS, use Server Explorer), open the "repository" and "certificates" tables.
- 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".
- Copy the two database files back to the server.
- Try reproducing the problem in Plesk. The problem went away for me!
I hope this works for you as well!