Creating a New User and Grant Privileges Using MySQL Command Line

When working with MySQL, the popular open-source relational database management system, it is essential to understand how to create and manage user accounts. User management plays a crucial role in controlling access to databases, ensuring security, and maintaining data integrity. In this blog post, we will guide you through the process of creating a new user using the MySQL command line.


Creating a New User: Step-by-Step Guide

  1. Log in to MySQL
  2. Create the User
  3. Grant Permissions
  4. Apply the Changes
  5. Verify the User Creation

1. Log in to MySQL

To create a new user, you need to log in to MySQL using an account with sufficient privileges. Open your command prompt or terminal and enter the following command:

Replace your_username with the username of an existing MySQL user with administrative privileges. Enter the password for the specified user when prompted.

2. Create the User

Once you are logged in to the MySQL command line, you can create a new user by executing the following SQL commands:

To create a user with access only from localhost:

To create a user with access from a specific IP address (replace 'ip_address' with the desired IP address):

To create a user with access from any machine:

Replace 'new_username' with the desired username for the new user and 'user_password' with a secure password of your choice. The 'localhost' keyword allows connections only from the local machine, the 'ip_address' specifies a specific IP address or hostname, and '%' allows connections from any machine.

Make sure to use the appropriate command based on your specific requirements. Restricting access to specific IP addresses or using 'localhost' is generally recommended for better security, as it limits access to trusted sources. However, in certain scenarios where broader accessibility is needed, the '%' option can be used.

Remember to choose strong passwords and grant privileges selectively to maintain the security and integrity of your MySQL databases.

3. Grant Permissions

After creating the user, you can assign appropriate permissions to control their access to databases. The GRANT statement is used for this purpose. Execute the following command to grant all privileges on a specific database to the new user:

Replace 'database_name' with the name of the database you want to grant access to. The * after the database name indicates that the user has access to all tables within that database. If you want to grant access to all databases, use *.* instead.

4. Apply the Changes

To apply the changes and make them effective immediately, run the following command:

This command reloads the MySQL privilege tables, ensuring that the new user’s privileges are recognized by the server.

5. Verify the User Creation

To confirm that the new user has been created successfully, you can use the SELECT statement to query the mysql.user table. Execute the following command:

Replace 'new_username' with the username you created. If the user exists, you will see a row with the username and host information.


Creating a new user using the MySQL command line is a fundamental task for database administrators. By following the steps outlined in this blog post, you should now be able to create a new user, assign appropriate privileges, and ensure secure access control to your MySQL databases. Remember to choose strong passwords and grant privileges selectively to maintain the security and integrity of your data.

If you found value in this article,
you can support us by buying me a coffee! ☕

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *