Mysql User Creation: Setting Up a New MySQL User Account

How do I create a user account on MySQL database server?

When you try to access MySQL database server from client such as mysql or even programming language such as php or perl you need a user account. MySQL has sophisticated user management system that controls who can access server and from which client system. It uses special tables in mysql database. In order to create a new user account you need a MySQL root account password. You need to use the GRANT SQL command to set up the MySQL user account.

Tutorial details
Difficulty levelEasy
Root privilegesNo
RequirementsNone
Est. reading time2 minutes
Method #1: Use mysqladmin command to change root password
If you have never set a root password for MySQL server, the server does not require a password at all for connecting as root. To setup root password for first time, use mysqladmin command at shell prompt as follows:
$ mysqladmin -u root password NEWPASSWORD
However, if you want to change (or update) a root password, then you need to use the following command:
$ mysqladmin -u root -p'oldpassword' password newpass
For example, If the old password is abc, you can set the new password to 123456, enter:
$ mysqladmin -u root -p’abc’ password ‘123456’
Note:123456 password is used for demonstration purpose only. You must select a strong password. It is an important protection to help you have safer MySQL database transactions.
Sample live session from my home server using mysqladmin
Fig.01: mysqladmin command in action
How do I verify that the new password is working or not?
Use the following mysql command:
mysql -u root -p'123456' db-name-here
OR
mysql -u root -p'123456' -e 'show databases;'
A note about changing MySQL password for other users
To change a normal user password you need to type the following command. In this example, change the password for nixcraft mysql user:
$ mysqladmin -u nixcraft -p'old-password' password new-password
Method #2: Changing MySQL root user password using the mysql command
This is an another method. MySQL stores username and passwords in user table inside MySQL database. You can directly update or change the password using the following method for user called nixcraft:
Login to mysql server, type the following command at shell prompt:
$ mysql -u root -p
Use mysql database (type command at mysql> prompt):
mysql> use mysql;
Change password for user nixcraft, enter:
mysql> update user set password=PASSWORD(“NEWPASSWORD”) where User=’nixcraft’;
Finally, reload the privileges:
mysql> flush privileges; mysql> quit
Sample live session from my home server
Fig.02: Changing mysql password for nixcraft user using sql commands.
This method is also useful with PHP, Python, or Perl scripting APIs.
See also:
HowTo: Recover MySQL root account password
Man pages – mysql(1)

How do I create a user account on MySQL database server? When you try to access MySQL database server from client such as mysql or even programming language such as php or perl you need a user account. MySQL has sophisticated user management system that controls who can access server…

How do I create a user account on MySQL database server? When you try to access MySQL database server from client such as mysql or even programming language such as php or perl you need a user account. MySQL has sophisticated user management system that controls who can access server…

Leave a Reply

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