Sunday, March 10, 2013

MySQL:インストール後のユーザー作成

散々はまりましたが、順を追って整理するとこの手続きになりました。


ユーザー作成

mysqld_safeを起動した後、ユーザーを作ります。
ユーザー名:test、パスワードabcにします。

$mysql -u root
mysql> grant all privileges on *.* to test@localhost identified by 'abc'


このユーザーを使ってmysqlを使うときは、

$mysql -u test -pabc

または

$mysql -u test -p
Enter password:

でパスワード入力します。

ちなみに-pとabcの間にスペースが入るとabcはdatabaseと見なされます。

$ mysql -u test -p abc
Enter password:
ERROR 1049 (42000): Unknown database 'abc'


また、grant で権限を与える時、ユーザー名がtestだからと
mysql> grant all privileges on *.* to test identified by 'abc'

のように@localhostを書かずに済ますと、
$ mysql -u test -pabc
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)

というエラーが出ます。


rootのパスワード設定

rootのパスワードの設定方法は2つあって、

$mysqladmin -u root password PASSWORD

もしくは、mysqlのプロンプトで

mysql>set password for root@localhost=PASSWORD('パスワード');

です。


とてもわかりやすくて助かりました。


ユーザーの削除


ユーザーはmysqlデータベースのuserテーブルで管理されているので、削除する時は

mysql> use mysql;
mysql> delete from user where user='test'

のように普通に行を削除します。