CREATE USER 'Grant'@'localhost' IDENTIFIED BY 'bestpasswordever';
How do I grant permissions to a user who is named "Grant"? It throws an error.
GRANT INSERT, DELETE
ON table
TO Grant@localhost;
Error: 'Grant' is not valid at this position. Expecting an identifier.
You have to use backticks when using reserved keywords or identifiers with otherwise illegal characters as identifiers
GRANT INSERT, DELETE
ON table
TO `Grant`@localhost;
Apostrophes or double quotes are fine, too as per the documentation:
Quote user names and host names as identifiers or as strings, using either backticks (`), single quotation marks ('), or double quotation marks ("). For string-quoting and identifier-quoting guidelines, see Section 9.1.1, “String Literals”, and Section 9.2, “Schema Object Names”.
...but I'm a purist and will always use backticks in MySQL, for identifiers.