MySQLユーザー作成〜権限付与まで
はじめに
MySQLインストール後、ユーザー作成から権限付与までをよく忘れるので記載します。
実行環境
OS:CentOS7
MySQLバージョン:5.6・5.7
ユーザー作成
mysql -u root
でrootでMySQLコマンドラインに入る。
※パスワード設定済みであれば「-p」オプションを追加。
mysql> CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
username
やhostname
は、必ずしも引用符で囲む必要はないよう。
ただ、特殊文字やワイルドカード文字 (「%」など) を含む場合には引用符が必要なため、password
含めて3点セットで囲んでおくのが無難な気はします。
権限付与
作成したユーザーに権限を付与する。付与する権限とそのレベルによって構文が変わります。
1.グローバル権限
特定のサーバー上の全てのデータベースに適用される。GRANT ○○ ON *.* TO
構文を利用。
サンプルのALL
、SELECT
やINSERT
の部分は付与したい権限に応じて変更します。
mysql> GRANT ALL ON *.* TO 'username'@'hostname';
mysql> GRANT SELECT, INSERT ON *.* TO 'username'@'hostname';
2.データベース権限
特定のデータベース内のすべてのオブジェクトに適用。GRANT ○○ ON db_name.* TO
構文を利用。
mysql> GRANT ALL ON db_name.* TO 'username'@'hostname';
mysql> GRANT SELECT, INSERT ON db_name.* TO 'username'@'hostname';
3.テーブル権限
DB内の特定のテーブルのカラム全てに適用。GRANT ○○ ON db_name.tbl_name TO
構文を利用。
mysql> GRANT ALL ON db_name.tbl_name TO 'username'@'hostname';
mysql> GRANT SELECT, INSERT ON db_name.tbl_name TO 'username'@'hostname';
4.カラム権限
特定テーブル内の単一カラムに適用。各権限のあとに、括弧で囲まれた1つ以上のカラムを指定する。
構文はGRANT ○○ (col1), ○○ (col1, col2) ON db_name.tbl_name TO
のようになる。
mysql> GRANT SELECT (col1), INSERT (col1,col2) ON db_name.tbl_name TO 'username'@'hostname';
権限付与結果の確認
以下で登録されたユーザーおよび権限設定を確認する
mysql> select user, host from mysql.user;
mysql> show grants for 'username'@'hostname'
最後に
いまいちな理解の部分もあったのですが公式を参照したらちゃんと書いてありました。
やはり公式をしっかりと見るのが大事なようです。
参考ページ
https://dev.mysql.com/doc/refman/5.6/ja/grant.html#grant-global-privileges
https://qiita.com/shuntaro_tamura/items/2fb114b8c5d1384648aa
Author And Source
この問題について(MySQLユーザー作成〜権限付与まで), 我々は、より多くの情報をここで見つけました https://qiita.com/dai_engineer/items/53b767969313f7a57cf4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .