• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Plesk update 7.5.2 -> 7.5.3 & MySQL problem

A

atrocity

Guest
Hello,

I started a Plesk update yesterday, and now i'm not able to login in the CP.
The error i receive is :

ERROR
Table 'psa.ControlVisibility' doesn't exist
0: /usr/local/psa/admin/plib/visibility.php:148 psaerror(string "Table 'psa.ControlVisibility' doesn't exist")
1: /usr/local/psa/admin/plib/visibility.php:291 getvisibilitycustomizations(string "/login_up.php3")
2: /usr/local/psa/admin/plib/visibility.php:300 getvisibility(string "login", boolean true, NULL "")
3: /usr/local/psa/admin/plib/elements.php3:180 iscontrolvisible(string "login", boolean true)
4: /usr/local/psa/admin/plib/elements.php3:106 fetch_hideable_button(string "commonButton", string "login", string "", string "", boolean false, string "", string "return login_oC(document.forms[0], document.forms[1])", boolean true, integer "3", boolean false, boolean false)
5: /usr/local/psa/admin/htdocs/login_up.php3:769 comm_button(string "login", string "", string "return login_oC(document.forms[0], document.forms[1])", boolean true, integer "3")

How can i fix this Table 'psa.ControlVisibility' ?
I have mysql-4.0.24-2.rhel3.art.i386 running on this (RHEL) server ...
Thanks for any help
Regards
Jean
 
in MYSQL do this

CREATE TABLE `ControlVisibility` (
`id` tinyint(4) NOT NULL auto_increment,
`control` varchar(25) NOT NULL default '',
`state` varchar(25) NOT NULL default '',
`page` varchar(25) NOT NULL default '',
UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

It is not the real schema but i had to do it so i could get back into plesk.

For me at the same time the /etc/httpd/conf/http.include file was overwritten and i had to restore the backup in order to fix the server.

hope it helps.

When someone replys to my post with the real structure use it instead.
 
Hello,

Many thanks for your reply. Your MySQL thing did it !
Now, i'm loggen in, and in the right window i have that message :

Unable to query: Unknown column 'page_size' in 'field list'

Any idea ?
Many thanks again.
Jean
 
Yup same happened to me.

I am slowly going through the errors to get this to work right.

Heres the next one

ALTER TABLE `ListsParams` ADD `page_size` VARCHAR( 25 ) NOT NULL ;
 
use this instead or you get blank pages when clicking on Client and Domains

ALTER TABLE `ListsParams` CHANGE `page_size` `page_size` VARCHAR( 25 ) DEFAULT '10' NOT NULL

it is becuase Page_Size is the variable it uses to determin how many records to show per page and when left blank it shows nothing until you click on default.

Might have to set server wide default in preferences if you have already use the first one.
 
heres the next

here is hte next one you will need so you can view and edit hosting of a domain.

ALTER TABLE `hosting` ADD `same_ssl` VARCHAR( 25 ) DEFAULT '0' NOT NULL ;
 
ALTER TABLE `ControlVisibility` ADD `control_type` VARCHAR( 25 ) NOT NULL ;

so that way Interface Manager under the Server tab works
 
someone just posted this for me

# ORIGINAL ControlVisibility TABLE
CREATE TABLE `ControlVisibility` (
`page` varchar(127) NOT NULL default '',
`control` varchar(127) NOT NULL default '',
`state` enum('hide','adminOnly','show') NOT NULL default 'hide',
`control_type` enum('button','formControl') NOT NULL default 'button',
PRIMARY KEY (`page`,`control`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


#To alter the table i originally gave you here is sql code.
ALTER TABLE `ControlVisibility` CHANGE `id` `id` TINYINT( 4 ) NOT NULL AUTO_INCREMENT ,
CHANGE `control` `control` VARCHAR( 127 ) NOT NULL ,
CHANGE `state` `state` ENUM( 'hide', 'adminOnly', 'show' ) NOT NULL ,
CHANGE `page` `page` VARCHAR( 127 ) NOT NULL ,
CHANGE `control_type` `control_type` ENUM( 'button', 'formControl' ) NOT NULL
 
I´m trying to use this but I´m getting this error :

ERROR 1046: No Database Selected
 
You need to give the 'use psa' mysql command to tell mysql to 'use' the 'psa' database.
 
Domain Creation problems now...

I also failed to upgrade from 7.5.2 to 7.5.3, but was able to get control of my server again by

  1. restoring my httpd.include file prior to the failed attempt;
  2. restoring the psa database prior to the failed attempt;
  3. adding the 'ControlVisibility' table as supplied by 2tonecafe and then populating the ListParams.page_size column with 25 (any integer would do).
    [/list=1]
    However, now I'm unable to add any further domains. Everytime I do, I get a Javascript alert that says:

    "Failed domain creation: Unable to update domain data: Unable to update domain: bsdomain: Column 'params_id' cannot be null"

    Any ideas?
 
Hello,

I had exactly the same problem with upgrading plesk 7.5.2 to 7.5.3.

I have found the solution in this forum, thanks. But at the end the solution didn't work. Why?

ALTER TABLE `ListsParams` ADD `page_size` VARCHAR( 25 ) NOT NULL ;

It was Ok , but the same error occurs. Nothing to show.

Finally I executed several commands in mysql prompt :

describe Controlvisibility;
describe ListsParams;

describe clients;
decribe domains;

select name from domains; -->There are Domains
select cname from clients; --> There are Clients

update ListsParams,...
describe listsParam

mysql> select * from ListsParams where list_name = 'domainslist';

+---------+-----------+---------------+-------------+-------+-------+--------+------+-----------+
| user_id | user_type | parentList_id | list_name | flags | sort | filter | page | page_size |
+---------+-----------+---------------+-------------+-------+-------+--------+------+-----------+
| 0 | 1 | 0 | domainslist | 1 | name | / | 0 | |
| 13 | 4 | 0 | domainslist | 0 | usage | / | 0 | |
| 9 | 4 | 0 | domainslist | 1 | name | xaire/ | 0 | |
+---------+-----------+---------------+-------------+-------+-------+--------+------+-----------+
3 rows in set (0.00 sec)

Column page_size is empty!!!!!!!!. It was impossible to show Clients or Domains in Plesk while this field were empty.

Solution:

mysql> update ListsParams set page_size = '25';
Query OK, 29 rows affected (0.03 sec)
Rows matched: 29 Changed: 29 Warnings: 0

Now plesk seems to work again.

I hope that anybody helps this solution and thank you for help me.

Regards,

Selu
 
THANK YOU!!!

Thank you to all of you who helped submit the fixes to this problem. I stayed up all night finding the solution and fixing my server, and signed up special to say thanks!
 
I know this is an old post, but THANK YOU for posting the solution to this! It saved me hours of agony and added years to my life :)
 
Back
Top