MySQLでのユーザー管理:作成・権限付与・削除の実践方法

ローカルアクセス用MySQLユーザーの構築

サーバーにroot権限を持つアカウントで接続し、"taro"という識別子を持つ新しいアカウントを定義します。以下のコマンドは、ローカルマシンからのみアクセス可能なユーザーを作成します。

CREATE USER 'taro'@'localhost' IDENTIFIED BY 'secure_password';

次に、特定のデータベースに対して権限を割り当てます。以下の構文により、"taro"アカウントが"sample_db"データベースに対してすべての操作権限を持つようになります。

GRANT ALL PRIVILEGES ON sample_db.* TO 'taro'@'localhost';

ユーザー作成と権限設定完了後、権限情報を再読み込みする必要があります。

FLUSH PRIVILEGES;

リモート接続対応ユーザーの設定

リモートシステムからの接続を許可するには、対象ホストを明確に指定する必要があります。特定のIPアドレスまたはワイルドカードを使用して接続元を制御できます。

CREATE USER 'taro'@'192.168.1.100' IDENTIFIED BY 'secure_password';

CREATE USER 'taro'@'%' IDENTIFIED BY 'secure_password';

FLUSH PRIVILEGES;

MySQLにおける権限種別の概要

一般的に使用される権限のカテゴリ:

ALL PRIVILEGES - すべての権限を付与

CREATE - データベースやテーブルの作成を許可

DROP - データベースやテーブルの削除を許可

DELETE - テーブルレコードの削除を許可

ALTER - テーブル構造変更を許可

INSERT - レコード追加を許可

SELECT - データ参照操作を許可

UPDATE - レコード更新を許可

EXECUTE - ストアドプロシージャ実行を許可

FILE - サーバーファイルアクセスを許可

GRANT OPTION - 権限付与機能を許可

複数の特定権限をコンマ区切りで指定することも可能です。例えば、"sample_db"に対するCREATE、DELETE、INSERT、UPDATE操作のみを許可する場合:

GRANT CREATE,DELETE,INSERT,UPDATE ON sample_db.* TO 'taro'@'localhost';

FLUSH PRIVILEGES;

既存権限の取り消し処理

REVOKE命令を使用して、特定の権限を取り消すことができます。例として、"sample_db"データベースから'taro'@'localhost'アカウントのDELETE権限を剥奪します。

REVOKE DELETE ON sample_db.* FROM 'taro'@'localhost';

FLUSH PRIVILEGES;

ユーザー情報の完全削除

DROP USER命令により、MySQLシステムからアカウント情報を完全に削除します。'taro'@'localhost'アカウントを削除する手順:

DROP USER 'taro'@'localhost';

FLUSH PRIVILEGES;

タグ: MySQL user-management privileges grant revoke

5月19日 04:51 投稿