多くの場合、データベースへのユーザーアクセスを管理するために、MySQLで新しいユーザーを作成する必要があります。この記事では、MySQLCREATEUSERコマンドを使用してMySQLでユーザーを作成する方法を説明します。
MySQLでユーザーを作成する方法
MySQLでユーザーを作成する手順は次のとおりです。 MySQLCREATEUSERステートメントを使用してユーザーアカウントを作成します。
CREATEUSERクエリの構文は次のとおりです
CREATE USER [IF NOT EXISTS] username@hostname
IDENTIFIED BY 'password';
上記のクエリでは、ユーザー名を指定する必要があります およびホスト名 CREATEUSERキーワードの後にusername@hostnameとして。
ユーザー名はユーザーの名前(例:test_user)であり、ホスト名はユーザーがデータベースに接続できるホスト(例:127.0.0.1)です。
ユーザーがデータベースサーバーと同じホストIPからデータベースにアクセスする場合は、127.0.0.1またはlocalhostを hostnameとして使用できます。
パスワード この新しいユーザーのパスワード(例:pass123)です。
オプションで、キーワードIF NOT EXISTSを使用して、存在しない場合にのみ新しいユーザーを作成できます。
ボーナスリード:MySQLでデータベースを作成する方法
MySQLCREATEUSERの例
新しいユーザーを作成するためのMySQLCREATEUSERクエリの例を次に示します。
CREATE USER 'test_user'@127.0.0.1 IDENTIFIED BY 'pass123';
上記のユーザーは、127.0.0.1(localhostとも呼ばれます)から、つまりデータベースが配置されているのと同じホストからのみ接続できます。この新しいユーザーは、他のIP(他のラップトップ、ワークステーションなど)からデータベースに接続できなくなります。
ユーザーがリモートIPアドレス(例:54.245.23.21)から接続できるようにする場合は、それをホスト名として指定します。
CREATE USER 'test_user'@54.245.23.21 IDENTIFIED BY 'pass123';
ホスト名の代わりにドメイン名とエンドポイントを使用することもできます。これは、AmazonRDSのデータベースユーザー名の例です。 RDSエンドポイント(mysql–instance1.123456789012.us-east-1.rds.amazonaws.com
を使用します )ホスト名の場合。
CREATE USER 'test_user'@mysql–instance1.123456789012.us-east-1.rds.amazonaws.com IDENTIFIED BY 'pass123';
ボーナスリード:MySQLでテーブルを作成する方法
上記のクエリからホスト名を省略すると、新しいユーザーはどのホストからでも接続できるようになります。
これが例です
CREATE USER 'test_user'@ IDENTIFIED BY 'pass123';
上記のクエリでは、username @%(例:test_user @%)
を使用することもできます。
ユーザー名とホスト名に特殊文字が含まれている場合は、ユーザー名とホスト名を一重引用符(‘)、二重引用符(“)、またはバッククォート( `)で指定する必要があります。これが例です。
CREATE USER 'test_user#1'@127.0.0.1 IDENTIFIED BY 'pass123';
ボーナスリード:MySQLに外部キーを追加する方法
作成された新しいユーザーには権限がないことに注意してください。つまり、データベースにクエリを実行することはできません。そのためには、GRANTステートメントを使用してユーザー権限を付与する必要があります。
これは、データベース sample_db について、新しいユーザーにすべての権限を付与する例です。
mysql> grant all privileges on sample_db.* to 'test_user#1'@127.0.0.1;
うまくいけば、MySQLでユーザーを作成できるようになりました。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!