今回は、MySQLのユーザー管理とアクセス権限について紹介します。データベースを安全に使うためにはアクセス権限の管理がとても大切です。
まず、新しいユーザーを作成する方法について解説します。MySQLにログインしたら、以下のコマンドを使って新しいユーザーを作成できます。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
このコマンドの内容を一つずつ見ていきましょう。
username
:作成するユーザー名です。host
:ユーザーがアクセスできるホスト名を指定します。例えば、'localhost'
なら、そのユーザーはローカルからのみアクセスできます。password
:設定するパスワードです。次に、ユーザーに権限を付与する方法を説明します。権限を付与すると、そのユーザーがデータベースを操作できる範囲を決めることができます。
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
このコマンドの内容も確認しましょう:
ALL PRIVILEGES
:すべての権限を付与します。database_name.*
:どのデータベースのどのテーブルに対して権限を与えるか指定します。database_name
にはデータベース名を入れます。username
:権限を与えるユーザー名です。host
:ユーザーがアクセスできるホスト名です。特定の権限のみを付与したい場合は、ALL PRIVILEGES
の部分を例えばSELECT
などに変更できます。
ユーザーにどの権限が付与されているかを確認するには、以下のコマンドを使います:
SHOW GRANTS FOR 'username'@'host';
また、特定の権限を取り消す場合は、以下のコマンドを使います:
REVOKE privilege ON database_name.* FROM 'username'@'host';
これも確認してみましょう。
privilege
:取り消したい権限です。例えばSELECT
など。database_name.*
:どのデータベースのどのテーブルに対して権限を取り消すか指定します。username
:権限を取り消すユーザー名です。host
:ユーザーがアクセスできるホスト名です。以上、MySQLユーザーの作成とアクセス権限の管理方法について説明しました。適切な権限管理を行い、安全にデータベースを運用しましょう。