サーバーへのログインを表示します(%
に注意してください) 任意のホストまたはワイルドカードを意味します)
select user,host from mysql.user;
+-----------+------------+
| user | host |
+-----------+------------+
| ajax_guy | % |
| joe7 | % |
| joe8 | % |
+-----------+------------+
特定のユーザーにどのような助成金が存在するかを示します。
show grants for 'ajax_guy'@'%';
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
特定のログインに特定のデータベースへのアクセスを許可する方法。以下では、so_gibberish
に対するすべての権限をユーザーに付与しています。 データベース 。
grant ALL on so_gibberish.* to 'ajax_guy'@'%';
有効な助成金を今見てください そのログインの場合
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `so_gibberish`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
新しいログインを作成するdrew_saturday
パスワードfriday987
。彼はデータベースに対するすべての特権を持っています so_gibberish
任意のホストからログインできます(%
)
grant ALL on so_gibberish.* to 'drew_saturday'@'%' IDENTIFIED BY 'friday987';
select user,host,password from mysql.user where user='drew_saturday';
+---------------+------+-------------------------------------------+
| user | host | password |
+---------------+------+-------------------------------------------+
| drew_saturday | % | *4600ED0F377308959665877BD327D4788DC2071F |
+---------------+------+-------------------------------------------+
ちなみに、上記のパスワードはハッシュ化されたパスワードです。
注:MySQL 5.7の場合、上記のコマンドは次のようになります。
select user,host,authentication_string from mysql.user where user='drew_saturday';
付与
のMysqlマニュアルページ 。 *でgrant ALL on *. ...
。それはすべてになります システム内のデータベース。マニュアルを読むだけで、少ないほど多くなります。
管理者は、データベース内のほんの一握りのテーブル(データベース内のすべてのテーブルではない)へのアクセスをログインに許可したい場合があります。マニュアルは必読です。
そして最後にもう1つ。 'drew_saturday' @'%'は、'drew_saturday' @'NOT-local'(タイトルから借用)とは異なるログインです。これらは、異なる権限を持つ異なるログインです。それが私が最初に書いたポイントです。