Midnightjapan

Mysqlの権限設定

by jun on 1月.18, 2011, under Mysql, Programing

いまさらこんな基本的なことを、私的に記録します。
なんというか、権限の設定って最初にガッツリやったらしばらく気にしないので、あまり気にしていなかったのですが
作業記録とGoogleの利用履歴の頻度を見てビックリしたのですが、Mysql権限設定 検索結果からたくさんのサイトに訪問回数20回以上とでていました。
これはいかんということで、自己記録です。
これくらい覚えておいてサクっとやるんでしょうけどね・・・最近記録と記憶の数の限界にきたようでどうも頭に入りません。

そうそう、おもいっきり脱線しますが今年に入ってやたらとマックユーザーからの参照が多くなりました。
MacBookAirの情報が少しはやくにたってるのかもしれません。
ちゃんと記事かきますね。
ホントはバラしたりとか、マルチブートもいろいろやったんですが・・・ちょっと多忙すぎです!
ご勘弁を (;´д⊂)

■ MySQLインスト後のroot権限設定

# /usr/bin/mysqladmin -u root -h ホスト名 password 'new-password'

■ MySQL 登録ユーザー権限確認

mysql> select user,host,password from mysql.user;

+--------+-----------+------------------+
| user   | host      | password         |
+--------+-----------+------------------+
| root   | localhost | **************** |
| root   | 127.0.0.1 | **************** |
| root   | %         | **************** |
| user   | %         | **************** |
+--------+-----------+------------------+

■ MySQL ユーザーの追加

mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザー名@"%" IDENTIFIED BY 'パスワード' WITH GRANT OPTION;

■ MySQL ユーザーのパスワード設定と変更

mysql> SET PASSWORD FOR ユーザ名@"%" = PASSWORD('パスワード');

1)Grant文で「GRANT ALL」としてすべての命令を意味する。各命令を受け付けるかを指定。命令は下記の通り。

ALL [PRIVILEGES] WITH GRANT OPTION 以外のすべての権限を設定
ALTER ALTER TABLE の使用を許可
CREATE CREATE TABLE の使用を許可
CREATE TEMPORARY TABLES CREATE TEMPORARY TABLE の使用を許可
DELETE DELETE の使用を許可
DROP DROP TABLE の使用を許可
EXECUTE ストアドプロシージャの使用を許可(MySQL 5.0)
FILE SELECT ... INTO OUTFILE および?LOAD DATA INFILE の使用を許可
INDEX CREATE INDEX および?DROP INDEX の使用を許可
INSERT INSERT の使用を許可
LOCK TABLES SELECT 権限を持つテーブルで?LOCK TABLES の使用を許可
PROCESS SHOW FULL PROCESSLIST の使用を許可
REFERENCES 将来のために予約
RELOAD FLUSH の使用を許可
REPLICATION CLIENT スレーブおよびマスタのサーバーを知る権利を付与
REPLICATION SLAVE レプリケーションのスレーブに必要(マスタからバイナリログを読み取るため)
SELECT SELECT の使用を許可
SHOW DATABASES SHOW DATABASES によりすべてのデータベースが表示される
SHUTDOWN mysqladmin shutdown の使用を許可
SUPER 最大接続数に達していても接続を 1 つだけ許可し、コマンド?CHANGE MASTERKILL threadmysqladmin debugPURGE MASTER LOGS、および?SET GLOBAL の実行を許可
UPDATE UPDATE の使用を許可
USAGE USAGE を使用すると、権限なしのユーザを作成できます。“権限なし” のシノニム
GRANT OPTION WITH GRANT OPTION のシノニム

複数の命令をつなげるばあいはこんな感じ

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON database.* TO custom@'%' IDENTIFIED BY 'パスワード';

2)「PRIVILEGES ON *.*」としてすべての<データベース.テーブル>を意味する。各テーブルやデータベースごとに権限を設定する場合はここで指定する。

3) 「TO ユーザー名@”%”」 でどのホストからのユーザーかを指定する。”%” はすべてのホストをしていする場合に利用する。

4) 「IDENTIFIED BY ‘パスワード’」でパスワードを指定する。ここで万が一「/etc/my.cnf」でold password=1を設定していない場合は「IDENTIFIED BY old_password(‘****’)」とすればPHPやPerlからデータベースを呼び出す際に暗号化に対応していない場合でも利用できるようになる。

■ MySQL ユーザー権限の削除

mysql> delete * from mysql.user where host='%' AND user='user';

■ コマンドの実行を反映

mysql> FLUSH PRIVILEGES;
:

1 コメント

  • jun

    自己レスです。
    タグの記述がWordpressだと一部のスタイルが消えちゃうんですね。
    こんな風にするとクロスブラウザ対応で自動改行対応します。

コメント返信

*



何かお探しですか?

以下にキーワードを入力してサイト内検索が可能です:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!