By Andrew McCombe
June 21, 2013
I always forget the MySQL create database with UTF8 character set syntax, so here it is:
CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON `mydb`.* TO `username`@localhost IDENTIFIED BY 'password';
Alternatively, you can use 'CREATE SCHEMA' instead of 'CREATE DATABASE':
CREATE SCHEMA `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON `mydb`.* TO `username`@localhost IDENTIFIED BY 'password';
I hope this helps someone else too!
UPDATE: This post used to show the FLUSH PRIVILEGES
command after the GRANT
statements but, as pointed out by Scott Lindsey in the comments, FLUSH PRIVILEGES
is unnecessary. For information why this isn't needed, please refer to this article by Jaime Crespo at dbahire.com.