CREATE USER
ステートメントを使用してMySQLでユーザーを作成するには、特定の構文に従う必要があります。これがあなたがそれを行う方法です:
基本的な構文:ユーザーを作成するための基本的な構文は次のとおりです。
<code class="sql">CREATE USER 'username'@'host' IDENTIFIED BY 'password';</code>
ここで、 'username'
は作成するユーザーの名前、 'host'
ユーザーが接続できるホストを指定し、 'password'
はユーザーに設定するパスワードです。
例:パスワードmypassword
でホストから任意のホストから接続できるjohn
というユーザーを作成するには、以下を使用します。
<code class="sql">CREATE USER 'john'@'%' IDENTIFIED BY 'mypassword';</code>
%
ワイルドカードは、ユーザーが任意のホストから接続できることを意味します。
ホストの指定:特定のホストからの接続をユーザーに制限することもできます。
<code class="sql">CREATE USER 'john'@'localhost' IDENTIFIED BY 'mypassword';</code>
これにより、 john
ローカルホストからのみ接続することが制限されます。
追加のオプション:MySQLでは、アカウントの設定を設定してクエリ、更新などの最大数を制限するなど、 CREATE USER
ステートメントを作成する追加のオプションも許可します。たとえば
CREATE USER 'john'@'%' IDENTIFIED BY 'mypassword' WITH MAX_QUERIES_PER_HOUR 100;
MySQLでユーザーを作成した後、ユーザーが目的のアクションを実行できるように適切な特権を割り当てる必要があります。ここにあなたが考慮するかもしれない必要な特権があります:
基本的な特権:
SELECT
:ユーザーがテーブルからデータを取得できるようにします。INSERT
:ユーザーがテーブルに新しい行を追加できるようにします。UPDATE
:テーブル内の既存の行を変更する機能をユーザーに付与します。DELETE
:ユーザーがテーブルから行を削除できるようにします。これらの特権を割り当てるには、 GRANT
ステートメントを使用します。
<code class="sql">GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.table_name TO 'username'@'host';</code>
管理特権:
CREATE
:ユーザーが新しいデータベースとテーブルを作成できるようにします。DROP
:ユーザーがデータベースとテーブルを削除できるようにします。ALTER
:既存のテーブルの構造を変更する機能を付与します。例:
<code class="sql">GRANT CREATE, DROP, ALTER ON database_name.* TO 'username'@'host';</code>
すべての特権:特定のデータベースまたはテーブルですべての特権をユーザーに付与する場合:
<code class="sql">GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';</code>
グローバル特権:MySQLサーバーを完全に制御する必要があるユーザー向け:
<code class="sql">GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';</code>
作成中にMySQLユーザーのパスワードを設定することは簡単で、 CREATE USER
ステートメントを使用して実行できます。これがあなたのやり方です:
句IDENTIFIED BY
を使用:句IDENTIFIED BY
ものは、ユーザー作成中にパスワードを指定するために使用されます。これが構文です:
<code class="sql">CREATE USER 'username'@'host' IDENTIFIED BY 'password';</code>
例:任意のホストから接続できるパスワードsecretpassword
を使用してユーザーjane
を作成するには:
<code class="sql">CREATE USER 'jane'@'%' IDENTIFIED BY 'secretpassword';</code>
パスワードハッシュ:MySQLは、セキュリティのためにパスワードを自動的にハッシュします。ただし、特定のハッシュメソッド(たとえば、 mysql_native_password
)を使用する場合は、次のように指定できます。
<code class="sql">CREATE USER 'jane'@'%' IDENTIFIED WITH mysql_native_password BY 'secretpassword';</code>
後でパスワードを変更する:ユーザーが作成された後にパスワードを変更する必要がある場合は、 ALTER USER
ステートメントを使用できます。
<code class="sql">ALTER USER 'jane'@'%' IDENTIFIED BY 'newpassword';</code>
MySQLユーザーアカウントに適切なユーザー名を選択することは、セキュリティ、組織、および管理の容易さに不可欠です。ここにいくつかの考慮事項があります:
admin
やroot
などの簡単に推測可能なユーザー名を使用しないでください。代わりに、悪用するのが難しい、より複雑で予測可能でない名前を選択します。sales_db_user
、ユーザーが販売データベースの管理を担当していることを示します。これらの考慮事項を念頭に置いて、安全で効率的で、組織のニーズに合わせたユーザー名を選択できます。
以上がCreateユーザーステートメントを使用してMySQLでユーザーをどのように作成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。