30 October 2020

Stored procedure permission with MySQL


The treatment for an error “Execute command denied for routine”.
It may happen, when MySQL is the configured database, and TMIDX is getting large, that user ‘ccsuser’ doesn’t have sufficient privileges to execute stored procedures. Some users encounter this problem after a CCS upgrade, and ‘ccsuser’ had not previously been configured with these privileges.
In this case, the TM packet viewer will not display the parameter properties when clicking on packets with an ID > 10000.

The CcsClient console log window displays an error like:

“TMTC param DB: execute command denied to user ‘ccsuser’@’%’ for routine ‘2018_04_11t15_10_54_ccsoper_ws1_sim.paramsFromPkt’ QMYSQL: Unable to execute query”

To fix the problem grant the ‘ccsuser’ EXECUTE privileges e.g. using a MySQL shell:

; To check the current privileges

; To grant all privileges as specified in the CCS5 installation steps
GRANT ALL PRIVILEGES ON *.* TO 'ccsuser'@'%';

; To grant a specific/custom privilege e.g. EXECUTE
GRANT EXECUTE ON *.* TO 'ccsuser'@'%';

Optionally, use the MySQL Workbench tool and give the ‘ccsuser’ the DBA role which is the same as GRANT ALL PRIVILEGES or tick on the specific Global Privileges.