How can I allow a user to query a view but not the underlying table in MySQL?
I figured it out myself.

First, I created an account that ONLY had permissions to certain columns (not all).  I then created a view for those columns and used the user as the definer.

Then, I created another test account and ONLY gave them permissions to that view.

So the test user could not see the underlying table but only the view and columns.

Works great.