• Introducing WebPros Cloud - a fully managed infrastructure platform purpose-built to simplify the deployment of WebPros products !  WebPros Cloud enables you to easily deliver WebPros solutions — without the complexity of managing the infrastructure.
    Join the pilot program today!
  • The Horde component is removed from Plesk Installer. We recommend switching to another webmail software supported in Plesk.
  • The BIND DNS server has already been deprecated and removed from Plesk for Windows.
    If a Plesk for Windows server is still using BIND, the upgrade to Plesk Obsidian 18.0.70 will be unavailable until the administrator switches the DNS server to Microsoft DNS. We strongly recommend transitioning to Microsoft DNS within the next 6 weeks, before the Plesk 18.0.70 release.

Error: PleskMainDBException

S

Steve.Gallant

Guest
Greetings:

I've been scratching my head trying to figure out the cause of the error (pasted below) when I attempt to access my PLESK interface. This error occurs before I get a change to log in.

At first I assumed this was caused by corruption in the psa database, but now I'm not sure. After examing the the database with unix's MYSQLCHECK PSA I can see all the tables listed, but the one referred to in the error "cl_param" doesn't exist... as the error indicates.

So, my question is: should this table exist? If so, how can I recover it? I have daily dump files I can use, but I am unsure of the commands to restore it. If the table isn't mean't to exist, why does the PHP3 file explicity refer to it?

Any help or advice would be GREATLY appreciated!

Many thanks,
Steve Gallant




----- Paste of error -----------------------------------------------------------

ERROR: PleskMainDBException


MySQL query failed: Table 'psa.cl_param' doesn't exist

--------------------------------------------------------------------------------

0: /usr/local/psa/admin/plib/common_func.php3:218
db_query(string 'select val from cl_param where param="itmpl_id" and cl_id='0'')
1: /usr/local/psa/admin/plib/common_func.php3:552
get_tparam(string 'itmpl_id', string 'cl_param', string 'and cl_id='0'')
2: /usr/local/psa/admin/plib/common_func.php3:567
get_cl_param(NULL null, string 'itmpl_id')
3: /usr/local/psa/admin/plib/visibility.php:355
getITmplID()
4: /usr/local/psa/admin/plib/visibility.php:232
getVisibilityCustomizations(string '/login_up.php3')
5: /usr/local/psa/admin/plib/visibility.php:467
getVisibility(string 'login', boolean true, NULL null)
6: /usr/local/psa/admin/plib/visibility.php:476
isControlVisible(string 'login', boolean true)
7: /usr/local/psa/admin/plib/elements.php3:414
fetch_hideable_button(array)
8: /usr/local/psa/admin/plib/elements.php3:324
comm_button(string 'login', string '', string 'return login_oC(document.forms[0], document.forms[1])', boolean true, integer '3')
9: /usr/local/psa/admin/plib/LoginForm.php:101
LoginForm->assign()
10: /usr/local/psa/admin/htdocs/login_up.php3:160
 
Hi,

If command is referring to it then table must exist. Have you upgraded Plesk on your server recently?
As for now you can try running the following command:

mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa
select * from cl_param limit 5;

It will either say that table does not exists or is corrupted.
If the table does not exist you can try importing it from Plesk database dumps:
1. cd /var/lib/psa/dumps
2. Exctact and open one of recent database dumps in text editor.
3. In text editor search for string like 'create database cl_param' - if you find it you will see command for database creation and insert command used to put data into database - copy these commands.
4. Create new file, let's name if clparam.sql and paste commands from step 3.
5. Import data to mysql:

mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa
source clparam.sql
 
Back
Top