Running show grants; indicates that I am logged in as a user with all privileges on a database.
Running show table status; results in an er
The answers here helped me with my specific problem. Many thanks! A view was the culprit as described above.
I got into trouble because the database in question was created from a backup of a remote database which had different users. The 'broken' view was 'defined' by a user I didn't have locally. Even root was unable to run the crashing query.
Changed the view's 'DEFINER' to a valid local user and the problem was solved!
ALTER
DEFINER = 'a_valid_user'@'localhost'
VIEW my_view
AS
SELECT .....
Check out ALTER VIEW documentation for MySQL 5.5
Many thanks again!