CREATE USER allows you to create a user and set a password. Line 1 shows template for creating a user and GRANTing all privileges. Line 6 begins a real example of setting up a user smithj with the password 'mypassword'. Line 22 shows SET PASSWORD keyword which resets the password for the user.
-- HOW TO CREATE USER. THE USERNAME WILL BE THE USERNAME, THE % IS THE HOST NAME (APPARENTLY THIS CAN BE LEFT AS A WILCARD?), AND IDENTIFIED CREATES THE PASSWORD.
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
-- EXAMPLE OF CREATING A USER
CREATE USER 'smithj'@'%' IDENTIFIED BY 'mypassword';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON *.* TO 'smithj'@'%' WITH GRANT OPTION;
-- EXAMPLE OF CREATING A USER THAT HAS PRIVILEGES TO ONLY A CERTAIN DATABASE AND CERTAIN TABLE (THE * ON LINE 4 SHOWS HOW TO GRANT ACCESS ACROSS ALL DATABASES AND/OR ALL TABLES)
CREATE USER 'smithj'@'%' IDENTIFIED BY 'mypassword';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON database1.orders TO 'smithj'@'%' WITH GRANT OPTION;
-- EXAMPLE OF CREATING A USER THAT CAN ONLY ACCESS VIA THE LOCAL HOST (IN THE PREVIOUS EXAMPLE, ACCESS COULD OCCUR FROM ANY HOST USING THE '%').
CREATE USER 'smithj'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'smithj'@'localhost' WITH GRANT OPTION;
--EXAMPLE OF CREATING A USER THAT CAN ONLY ACCESS VIA A HOST ON THE EXAMPLE.COM DOMAIN.
CREATE USER 'smithj'@'%.example.com' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'smithj'@'%.example.com' WITH GRANT OPTION;
-- HOW TO RESET PASSWORD FOR USER
SET PASSWORD FOR 'mcmahonk'@'%' = PASSWORD('newpassword');
-- HOW TO LOGIN AS A DIFFERENT USER (MUST BE DONE USING GENERAL COMMAND LINE, NOT THE MYSQL COMMAND LINE). ONCE YOU ENTER THE USERNAME, IT'LL ASK FOR YOUR PASSWORD. IN EXAMPLE BELOW, THIS SHOWS HOW TO LOGIN TO A PRE-EXISTING USER ACCOUNT NAMED 'susumu'.
mysql -u susumu -p
-- HOW TO VIEW ALL USERS AND THEIR PRIVILIGES
SELECT * FROM mysql.user \G