MySQLで新しいユーザーを作成し、権限を付与するためのコマンドは以下の通りです。
1. 新しいユーザーの作成
次のコマンドで新しいユーザーを作成します。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
-
username
: 作成するユーザー名。 -
host
: ユーザーが接続可能なホスト(例:localhost
や%
)。-
localhost
: ローカル接続のみ許可。 -
%
: 任意のホストから接続を許可。
-
-
password
: ユーザーのパスワード。
例: ユーザー testuser
をパスワード securepassword
で作成し、任意のホストから接続を許可する場合:
CREATE USER 'testuser'@'%' IDENTIFIED BY 'securepassword';
2. 権限を付与する
次のコマンドでユーザーに権限を付与します。
GRANT privileges ON database.table TO 'username'@'host';
-
privileges
: ユーザーに付与する権限(例:ALL PRIVILEGES
,SELECT
,INSERT
,UPDATE
,DELETE
)。 -
database
: 権限を付与するデータベース名(例:mydb
)。 -
table
: 権限を付与するテーブル名、またはすべてのテーブルの場合は*
。
例: データベース mydb
のすべてのテーブルに対して、testuser
にすべての権限を付与する場合:
GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'%';
3. 権限の反映
付与した権限を即時反映するには、次のコマンドを実行します。
FLUSH PRIVILEGES;
4. 作成したユーザーの確認
作成したユーザーとその権限を確認するには以下を実行します。
SELECT User, Host FROM mysql.user;
権限を確認する場合:
SHOW GRANTS FOR 'username'@'host';
例: testuser
の権限を確認する:
SHOW GRANTS FOR 'testuser'@'%';
まとめ
- ユーザー作成:
CREATE USER 'testuser'@'%' IDENTIFIED BY 'securepassword';
- 権限付与:
GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'%';
- 権限反映:
FLUSH PRIVILEGES;
これで、新しいユーザーが作成され、権限が付与されます。必要に応じて、特定の権限(例: SELECT
や INSERT
のみ)を付与するように変更してください。