mysql is a program for connecting to a MySQL server. For the purposes of this tutorial, I'll assume you are connecting to a MySQL server that's running on the same machine as the 'mysql' program you will be running (i.e. "localhost").
SQL statements can be used outside the MySQL command-line program. If just want to read the relevant SQL statement(s), you can disregard steps 1 and 2 and skip to step 3.
1. Connect to
mysql -u [username] -p
- -u -- This flag must preceed the username. Without this flag,
mysqlwill assume that the MySQL username makes the OS username of the logged in user running the program.
- [username] -- MySQL username.*
-p -- Prompts user to provide password. Without this flag,
mysqlwill search for a setting file that contains relevant password.
You may have a MySQL username that's identical to your Linux/OS username and they may even share the same password. But it's imporant to understand that these are different user accounts--much like using the same username and password on multiple web sites. For example, Linux has a default user called "root" and MySQL also has a default user called "root."
mysql -u root -p
2. When prompted, enter your password
Remember: You are entering the username for the MySQL username you specified.
3. Enter "CREATE USER" statement
IMPORTANT: Make sure to include the quotation marks.
CREATE USER '[user]'@'[server]' IDENTIFIED WITH mysql_native_password BY '[password]';
- [username] -- Desired MySQL username.
- [server] -- MySQL server address (IP address, domain name or "localhost").*
- mysql_native_password -- This flag is really important so that your password is stored in a way that other programs can understand.
[pasword] -- Desired password for aforementioned MySQL user.
Unless you are trying to connect to a remote server, you only need to enter "localhost".
CREATE USER 'wp_user'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Note: Make sure to include the semicolon at the end of the MySQL statement.