ユーザ作成と権限設定
MySQLでは、ログイン元のホストごとにユーザ名、パスワードを設定可能です。また、ユーザごとに細かくオペレーションの権限を設定することができます。
ユーザ作成
ユーザ作成は、「ユーザ名」「パスワード」「ホスト」を指定します。「ホスト」とはログイン可能なホストをIPアドレスやホスト名で指定できます。'%'はどこからでもログイン可能な設定で、その他ホスト名(localhostなど)やIPアドレスはv4(127.0.0.1など)とv6(::1など)両方で指定ができます。
-- CREATE USER 'ユーザ名'@'ホスト' IDENTIFIED BY 'パスワード'; > CREATE USER 'user'@'%' IDENTIFIED BY 'password'; -- ユーザ名「user」 ホスト「%」 パスワード「password」
権限設定
-- GRANT 権限 ON データベース.テーブル TO 'ユーザ名'@'ホスト' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
各ユーザの権限の設定は、mysql.userテーブルの"_priv"という接尾語のついたカラム名で確認することができます。
mysql> desc mysql.user; mysql> select * from mysql.user;
Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv
関連記事
-
MySQL WorkbenchでSSH経由でDBに接続
さくらインターネットのデータベースにはクライントマシンから直接TCPで接続を試みると10060エラーなどになってしまいますが、SSH経由で接続は可能のようです。 SSH経由の接続設定 MySQ
-
LIKEでカンマのついた数字を(FINF_IN_SET)
ちょっとてこづってしまったので備忘録。 次のようなカンマ区切りのカラムがあったとき、8は抽出したが88は抽出したくないとき ROW1: 10,5,2,8, ROW2: 2,7,9,65 ROW3: 9
-
SELECT COUNTでNULLだとカウントしてくれない
> SELECT COUNT(column) FROM table; の場合、columnデータがNULLの場合カウントしてくれません。 > SELECT COUNT(*) F
-
vs SQLite コマンド対応表
SQLiteって今までまじめに触ることがなかったのでおさらいしてみました。 バージョンは、"3.6.20"。コマンドの使用方法は".help"オプションで一覧を表示することができます。 $ s
-
外部キー(foreign key)を作成するとインデックスもついてくる
MySQLでは外部キーを設定すると自動的にインデックスが作成されるようです。 逆に外部キーが設定されたままインデックスを削除しようとするとエラーになります。 #1553 - Cannot drop