# mysql -u root
CREATE DATABASE database_name default charset='utf8'
GRANT SELECT, INSERT, DELETE, UPDATE, CREATE, DROP, FILE, ALTER, INDEX ON *.* TO username@host IDENTIFIED BY 'password';
全ての権限を与える場合は
GRANT ALL PRIVILEGES ON *.* TO username@host IDENTIFIED BY 'password';
hostを指定しない場合は、hostが「%」(=どこからでも接続可)で登録されるが、 セキュリティ上必要最低限のhostを設定したほうがよい。
権限の書き換えも許可する場合は、最後に WITH GRANT OPTION を付けて
GRANT ALL PRIVILEGES ON *.* TO username@host IDENTIFIED BY 'password' WITH GRANT OPTION;
とする。
上記の文を発行した後、必ず
FLUSH PRIVILEGES
する。
USE mysql SELECT host, user, password FROM user;
※MySQLではOracle等と違い、テーブル名や列名等の名称に関してだけは大文字小文字の区別があるので注意。 例えば use mysql はOKだが、use MYSQL はエラーになる。
権限について確認したい場合は
SHOW GRANTS FOR username;
とする。
SET PASSWORD FOR username@"host" = password('pass');