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 のみ)を付与するように変更してください。