Homepage | About Me | Testing ASP.net Book | Best Blog Posts | Personal Projects | Follow me on Twitter | GitHub | SlideShare | RSS
Blog.BenHall.me.uk

MySQL – Creating a new user

Monday, June 15, 2009

It’s funny how you forget the simple things when you haven’t done them in a while.

Tonight I wanted to setup MySQL on my Windows 7 machine. The installation was simple and I happily had my root account created. However, I didn’t want to use my root account for development – mainly because I didn’t want the password to be sorted in clear text.

In order to create a new user, I used the command line MySQL client tool which allows me to execute commands against the server. You enter this via the command.

mysql --user="root" ––password

This will then prompt you for the root password. I could have entered this on the command line as well, but again it would be in the clear.

From the tool, I enter the following two commands. The first creates the user, the second assigns permissions.

CREATE USER 'new_username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL ON *.* TO 'new_username'@'localhost';

I can then happily use this new user with my application. I wanted to post this in case anyone else keeps forgetting like me…

Labels: ,

Blogger comments

At 2:37 PM, Blogger Taswar said...
I do always forget also but I wrote a bash script to remind me of it.
So that I can just cut and paste it into mysql :)

#!/usr/local/bin/bash

if [ $# -eq 0 ] # Must have command-line args to demo script.
then
echo "Please invoke this script with one or more command-line arguments.
"
echo "$0 dbname username password"
exit;
fi

echo "CREATE DATABASE IF NOT EXISTS $1;"
echo "GRANT ALL PRIVILEGES ON $1.* TO '$2'@'localhost'"
echo "IDENTIFIED BY '$3' WITH GRANT OPTION;"