Reputation: 37318
A have a live/production CentOS 6.8 server with Nginx, PHP (multiple versions), MySQL 5.7.18 and latest (when writing this question) phpMyAdmin 4.7.0.
This server is running for many years and with no problems, but recently I noticed a problem when I tried to delete a record from a table using phpMyAdmin, I got the following error:
#1142 - SELECT command denied to user 'test_user'@'localhost' for table 'pma__tracking'
Strange thing is that it deletes the record but it can't refresh the result after the deletion! Also, all SELECT queries work and every data browse successfully fetches data on each table!
I have each database to has its' own user with all privileges granted.
I have properly installed $cfg['Servers'][$i]['controluser']
and $cfg['Servers'][$i]['controlpass']
and all the tables exists inside $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
database.
My question is, why is this happening and how can I fix it? It's strange for me, because I expect that the user defined inside phpMyAdmin config should access pmadb
('pma'@'localhost'
) and the tables in it and NOT the user that connects to a database!
Upvotes: 0
Views: 1947
Reputation: 38
I run into the same problem today. The problem occures every time, you want to modify data in tables with UPDATE / INSERT / DELETE.
They picked the wrong user to perform the (tracking) database query. I found a patch in the following link. Because it is not my solution, i just link to the guy who wrote the code.
https://github.com/phpmyadmin/phpmyadmin/issues/13214
So, we either can patch it by ourselves or wait for next phpmyadmin release.
Upvotes: 1