title: User with no permissions can still SELECT
body: <p>I'm fairly new to MySQL and I've been creating test tables, etc.</p>
  
  <p>Anyway, I created a new user, using</p>
  
  <p><code>CREATE USER 'myUser'@'localhost' IDENTIFIED BY 'myPassword';</code></p>
  
  <p>Now, when I log into this user, I can <code>SELECT</code> from a table I created with root earlier.  Surely this should not be possible?  The user has no <code>SELECT</code> permissions, or indeed any permissions.  If (logged in as root) I do either:</p>
  
  <p><code>SHOW GRANTS FOR 'myUser'@'localhost';</code></p>
  
  <p>Or</p>
  
  <p><code>SELECT * FROM information_schema.user_privileges WHERE  grantee LIKE "'myUser'@%";</code></p>
  
  <p>I can see they only have USAGE permissions.  My understanding is this permission is set to indicate a user has no permissions.</p>
  
  <p>So how is this user able to SELECT from my table?</p>
  
  <p>If I do:</p>
  
  <p><code>SELECT * FROM information_schema.table_privileges;</code></p>
  
  <p>No results are returned.</p>
  
  <p>What am I missing here?  Are certain things like <code>SELECT</code> implicitly granted to new users?  Do I have to explicitly revoke this?</p>
  
  <p>If so, what other permissions are implicitly granted?</p>
  
  <p>Ideally what I'm aiming for is a user that can do nothing except run one (or more) stored procedures that I specify with <code>GRANT EXECUTE ON</code>.</p>