This is the way to create new user in MySQL
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
And this is the way you give the user permission:
It seems like the permission of user "parser" is not correct. You can check the configuration of user with statement.
SELECT * FROM information_schema.USER_PRIVILEGES;
If you have granded an user new permission you have to reload the settings. You can do this with this FLUSH PRIVILEGES;
How To Grant Different User Permissions:
- ALL PRIVILEGES- as we saw previously, this would allow a MySQL user
all access to a designated database (or if no database is selected,
across the system)
- CREATE- allows them to create new tables or
databases
- DROP- allows them to them to delete tables or databases
- DELETE- allows them to delete rows from tables INSERT- allows them to
insert rows into tables
- SELECT- allows them to use the Select command
to read through databases
- UPDATE- allow them to update table rows
- GRANT OPTION- allows them to grant or remove other users' privileges
To provide a specific user with a permission, you can use this framework:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
I hope this will help you solve your issue. Never forget to flush!!!