MySQL で新しいユーザーを作成し、1 つのデータベースのみにフル アクセスを許可したいのですが、dbTest
のようなコマンドを使用して作成しますcreate database dbTest;
。これを行うための MySQL コマンドは何でしょうか。
ベストアンサー1
ユーザーを作成するには、次のようにしてください:
CREATE USER 'user'@'hostname';
データベースにアクセスできるようにするには、これを試してくださいdbTest
:
GRANT ALL PRIVILEGES ON dbTest.* To 'user'@'hostname' IDENTIFIED BY 'password';
同じマシン上で MySQL にアクセスするコード/サイトを実行している場合、ホスト名は localhost になります。
さて、内訳です。
GRANT
- これは、ユーザーを作成し、データベース、テーブルなどへの権限を付与するために使用されるコマンドです。
ALL PRIVILEGES
- これにより、ユーザーはすべての標準権限を持つことになります。ただし、これには GRANT コマンドを使用する権限は含まれません。
dbtest.*
- これは、MySQL にこれらの権限を dbtest データベース全体に適用するように指示します。必要に応じて、* を特定のテーブル名またはストア ルーチンに置き換えることができます。
TO 'user'@'hostname'
- 'user'は作成するユーザーアカウントのユーザー名です。注意: シングルクォートが必要です。'hostname'はユーザーがどのホストから接続できるかをMySQLに伝えます。同じマシンからのみ接続したい場合は、localhost
IDENTIFIED BY 'password'
- ご想像のとおり、これによりそのユーザーのパスワードが設定されます。