MySQL: Granting permission for CREATE VIEW
This is detailed in When Privilege Changes Take Effect in the MySQL documentation.


  A grant table reload affects privileges for each existing client
  connection as follows:
  
  Table and column privilege changes take effect with the client's next
  request.
  
  Database privilege changes take effect the next time the client
  executes a USE db_name statement.
  
  Note Client applications may cache the database name; thus, this
  effect may not be visible to them without actually changing to a
  different database or flushing the privileges.
  
  Global privileges and passwords are unaffected for a connected client.
  These changes take effect only for subsequent connections.