Page 1 of 1

error: select command denied to user

PostPosted: Fri Apr 15, 2011 12:47 am
by goxatago
Hello,

I recently moved one of my applications to a hosting provider (000domains.com)

The setup is php5, mysql5, apache and both xataface 1.2.6 and 1.3rc3 2167 report that they have been installed properly and all permissions in the templates and templates_c are set properly as well. (from dataface_info.php).

However as soon as I try to run the application I get the following error message:

Code: Select all
SELECT COUNT(*) as num FROM `dataface__view_producers_2af64cb99b8f9e7bceb7f356a3749237` as `producers`
Fatal error: SELECT command denied to user 'u49999_museum'@'%' for column 'producer_id' in table 'producers'SELECT COUNT(*) as num FROM `dataface__view_producers_2af64cb99b8f9e7bceb7f356a3749237` as `producers`On line 128 of file /httpdocs/xataface/Dataface/QueryTool.php in function printStackTrace()
On line 531 of file /httpdocs/xataface/Dataface/QueryTool.php in function Dataface_QueryTool(producers,Resource id #10,array(producers,list,list,0,0,30,list))
On line 1280 of file /httpdocs/xataface/Dataface/Application.php in function loadResult(producers,Resource id #10,array(producers,list,list,0,0,30,list))
On line 1309 of file /httpdocs/xataface/Dataface/Application.php in function getResultSet()
On line 1499 of file /httpdocs/xataface/Dataface/Application.php in function getRecord()
On line 1518 of file /httpdocs/xataface/Dataface/QueryTool.php on line 128


I have verified that the user has proper access to the database and so did the tech support of the hosting provider.
Does the format of the username matter ? This was set by the hosting provider. I cannot remove the underscore.
I tried with a shorter username i.e. u49999_m without success.

I have erased all cache/view tables in the database but the error persists.

As i do not have direct access to the webserver logs is there a clue to what may be going wrong ?

Thank you,

S.

p.s. added to this message additional info on the user format.

Re: error: select command denied to user

PostPosted: Fri Apr 15, 2011 7:32 am
by shannah
It is strange that it says that the select command is denied on a particular column. It would appear that, despite declarations to the contrary, the problem lies in mysql and permissions allotted to your user. Check to ensure that there aren't special permissions on the producer_id column (in mysql) for the user that override the default database and table permissions.

As the error states, the problem is that the user doesn't have the SELECT permission for the producer_id problem. Look only at possibilities that can explain this. (i.e. leave xataface out of the equation... solve it at a mysql level).

If it were me, I'd start experimenting by entering queries directly into mysql and look for clues.

Re: error: select command denied to user

PostPosted: Tue Apr 19, 2011 12:27 am
by goxatago
Hello again,

I think mysql works properly:

I can connect with the mysql shell from a remote client w/o problems and I can execute sql statements.
I can also execute a simple script that connects to the remote database with the same credentials w/o problems as well.

However, I get the same "select command denied" error when I attempt to connect remotely through xataface from my test webserver to the database.

I checked the webserver access and error logs and there are no entries at all.

The hosting provider (000domains.com) tells me that they do not support 3rd party apps so I am somewhat stuck..

I feel it is something silly but I cannot put my finger on it..

S

Re: error: select command denied to user

PostPosted: Tue Apr 19, 2011 3:11 am
by goxatago
One more clue. I did the reverse:

I configured the hosting provider's webserver that xataface is installed to access the database on my test server.
In this case I got a different error that pointed to the xataface authentication configuration (applicationdelegate.php) which was working fine on my original setup.
To make things simpler I removed all the xataface authentication settings and it worked fine, that is using the hosting provider's webserver+xataface installation and a remote ddb server.

However, even with the xataface authentication settings removed I still get the same "select command denied" error on the hosting provider's system.

S.

Re: error: select command denied to user

PostPosted: Tue Apr 19, 2011 8:27 am
by shannah
LIke I said. There's only one place to look here - that is the MySQL permissions. Ensure that your mysql user has full permissions for the database. Note that MySQL user accounts are dependent upon where they are connecting from so ensure that you are working with the correct mysql user when adding permissions (i.e. username myself connecting from localhost is different than username myself connecting from example.com).

Steve