* MySQLユーザ管理 [#v13ac707]
** システムデータベース選択 [#t67b51db]
use mysql
** ユーザ一覧確認 [#d7dfcf43]
SELECT host, user, password, grant_priv FROM user
** ユーザ権限確認 [#r0b93437]
show grants for roo@localhost
** ユーザ追加 [#pd218b97]
*** アクセス制御 [#s11d318d]
ローカルホスト(192.168.0.0./24)から、foo_dbデータベースへの接続できるユーザ
grant all privileges on foo_db.* to taro@localhost
grant all privileges on foo_db.* to taro@'192.168.0.0/255.255.255.0'
任意のホストから、すべてのデータベースへの接続できるユーザ
grant all privileges on *.* to taro@'%'
http://dev.mysql.com/doc/refman/5.7/en/connection-access.html
*** パスワード指定 [#i45dbb31]
grant all privileges on *.* to taro@'%' identified by 'PASS';
*** ユーザを追加できるユーザ [#z6c066c2]
「WITH GRANT OPTION」を付ける。
http://dev.mysql.com/doc/refman/5.1/ja/adding-users.html
*** 権限を指定 [#we44c4e8]
GRANT SELECT ON *.* TO 'taro'@'127.0.0.1' IDENTIFIED BY 'PASS'
http://dev.mysql.com/doc/refman/5.7/en/grant.html
*** ユーザの権限を確認 [#mfcdcdb1]
SHOW GRANTS FOR 'taro'@'127.0.0.1';
** ユーザ削除 [#eb91fc9b]
DELETE FROM user WHERE user = 'taro';
** ユーザパスワード更新 [#nd35b1e8]
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
UPDATE文を使ってもよい。
*** mysqladminコマンドを使って [#w2fb729f]
シェルで
mysqladmin -u root password 'new-password'
mysqladmin -u root -h taro password 'new-password'
** 参考 [#ka1b5c9b]
- mysqladminコマンドからユーザ管理を行ってもいいが、mysqlデータベースを直接操作する方が細かく指定できてよい。
- http://dev.mysql.com/doc/refman/5.1/ja/adding-users.html
- http://www.dbonline.jp/mysql/user/index6.html