'MySql syntax error during user creation when there is no apparent error

I'm trying to install Moodle using Ubuntu using the following guide: Step-by-step Installation Guide for Ubuntu

I'm currently on step 6 where I have to create a mySQL user with the correct permissions and this is where I'm getting stuck.

The 1st command - create user 'user1'@'localhost' IDENTIFIED BY 'password1'; works fine

However the 2nd command -

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO user1@localhost
IDENTIFIED BY 'password1';

Returns the error message - ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'password1'' at line 1

The installation manual mentions that this may be a problem so advises me to use - SELECT password('password1'); in order to get a hash value to overcome the problem.

However instead of giving me a hash value it comes up with the same error of - ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('password1')' at line 1

I am a beginner to all this so I'd appreciate any responses, thanks in advance!



Solution 1:[1]

You need apostrophes around the name and the host in your command, like:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'user1'@'localhost'
IDENTIFIED BY 'password1';

EDIT

According to the comments, slightly changing the command fixed the syntax error:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'user1'@'localhost';

Solution 2:[2]

First Create user ‘moodleuser’@’localhost’ identified by ‘yourpassword’;

Then grant select,insert,update,delete,create,create temporary tables,drop,index,alter on moodle.* to 'moodleuser'@'localhost';

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 atteeque Harlapur