I created a new MySQL user
_ are simply SQL wildcards. The GRANT syntax allows them:
The _ and % wildcards are permitted when specifying database names in GRANT statements that grant privileges at the database level.
You may notice that
_ is escaped (
if you want to use a
_character as part of a database name, you should specify it as
\_in the GRANT statement, to prevent the user from being able to access additional databases matching the wildcard pattern; for example, GRANT ... ON `foo\_bar`.* TO ....
It's apparently a way to extend the privileges to any database that starts with