LoginSignup
88

More than 5 years have passed since last update.

Mysql関係の備忘録

Last updated at Posted at 2014-08-07

ユーザの作成

GRANT権限を持つユーザを作る

GRANT権限とは。
http://dev.mysql.com/doc/refman/5.1/ja/grant.htmlより引用。

GRANT ステートメントは、システム管理者が MySQL ユーザ アカウントを作成し、アカウントに権利を与える事を可能にします。GRANT を利用する為には、GRANT OPTION 権限を持ち、また自分が供与している権限を持つ必要があります。REVOKE ステートメントは、アカウント管理者が権限を削除する事に関連し、それを可能にします。詳しくは 「REVOKE 構文」 を参照してください。

要はユーザを作れるという事っぽい。

  • ユーザの作成方法
mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザー名@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

ちなみに、こうすると特定のデータベースだけにアクセス出来るように作れる。

mysql> GRANT ALL PRIVILEGES ON データベース名.* TO ユーザー名@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

GRANT権限を持たないユーザを作る

mysql> GRANT ALL PRIVILEGES ON *.* TO ユーザー名@localhost IDENTIFIED BY 'パスワード';
mysql> FLUSH PRIVILEGES;

特定の実行権限だけ持つユーザ

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO ユーザ名@localhost IDENTIFIED BY 'パスワード';
mysql> FLUSH PRIVILEGES;

DBを作る

  • 文字コード指定してDB作る
mysql> CREATE DATABASE データベース名 CHARACTER SET utf8;
  • 文字コードは後から指定する
mysql> CREATE DATABASE データベース名;
mysql> ALTER DATABASE データベース名 DEFAULT CHARACTER SET=utf8;
  • DBを削除する
DROP DATABASE データベース名;

ユーザの権限について

権限を追加する場合

mysql> GRANT CREATE ON データベース名.* TO ユーザ名@localhost;
mysql> GRANT DROP ON データベース名.* TO ユーザ名@localhost;
mysql> GRANT ALTER ON データベース名.* TO ユーザ名@localhost;

権限を確認する

mysql> SHOW GRANTS FOR ユーザ名@localhost \G

権限を削除する

mysql> REVOKE ALL PRIVILEGES ON *.* FROM ユーザ名@localhost;
mysql> REVOKE 削除する権限 ON 対象(データベース名.*) FROM ユーザー名;

ユーザの削除

  • 削除
mysql> DELETE FROM mysql.user WHERE user='ユーザ名' AND host='localhost';
mysql> FLUSH PRIVILEGES;
  • 削除確認
mysql> SELECT Host, User, Password FROM mysql.user WHERE user='ユーザ名';

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
88