ホームページ > データベース > mysql チュートリアル > mysqlデータベースにユーザーを追加する方法

mysqlデータベースにユーザーを追加する方法

青灯夜游
リリース: 2022-06-14 17:18:45
オリジナル
12435 人が閲覧しました

ユーザーを追加する 2 つの方法: 1. CREATE USER ステートメントを使用して新しいユーザーを作成し、対応するパスワードを設定します。構文は「CREATE USER user IDENTIFIED BY [PASSWORD] 'password']」です。 2. GRANT ステートメントを使用して、構文「GRANT ユーザー権限 ON データベース.テーブル TO ユーザー [IDENTIFIED BY [PASSWORD] 'パスワード']」を使用して新しいユーザーを作成します。

mysqlデータベースにユーザーを追加する方法

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

MySQL がインストールされると、root という名前のユーザーがデフォルトで作成されます。このユーザーはスーパー権限を持ち、MySQL サーバー全体を制御できます。

MySQL の日常的な管理と運用では、誰かがデータベースを制御するために root ユーザーを悪意を持って使用することを防ぐために、通常、適切な権限を持つユーザーを作成し、root ユーザーの使用を最小限または最小限に抑えます。データへの安全なアクセスを確保するために、システムにログインすることが可能です。

#mysql データベースにユーザーを追加 (作成) する 2 つの方法

  • CREATE USER ステートメントを使用してユーザーを作成する

  • GRANT ステートメントを使用してユーザーを作成します

1. MySQL CREATE USER ステートメントを使用して新しいユーザーを作成します

CREATE USER ステートメントを使用できます。ステートメントを使用して MySQL ユーザーを作成し、対応するパスワードを設定します。基本的な構文形式は次のとおりです。

CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];
ログイン後にコピー

1) ユーザー

は、ユーザー名 '@' ホスト名 の形式でユーザー アカウントの作成を指定します。ここで、user_name はユーザー名、host_name はホスト名 (ユーザーが MySQL に接続するために使用するホストの名前) です。作成プロセス中にホスト名を指定せずにユーザー名のみを指定した場合、ホスト名はデフォルトでホストのグループを表す「%」に設定され、すべてのホストにアクセス許可が与えられます。

3) IDENTIFIED BY 句

は、ユーザーのパスワードを指定するために使用されます。新規ユーザーには初期パスワードは必要ありません。ユーザーがパスワードを持たない場合は、この句を省略できます。

2) PASSWORD 'password'

PASSWORD は、ハッシュ値を使用してパスワードを設定することを意味します。このパラメータはオプションです。パスワードがプレーンな文字列の場合は、PASSWORD キーワードを使用する必要はありません。 「password」は、ユーザーがログインするために使用するパスワードを表し、一重引用符で囲む必要があります。

注: パスワードはクリア テキストである必要があります。 MySQL は、ユーザー アカウントを

user テーブルに保存する前にパスワードを暗号化します。

たとえば、パスワード

dbadmin で MySQL データベース サーバーに接続する新しいユーザーを作成するには、次のステートメントを使用します: localhostsecret CREATE USER

CREATE USER dbadmin@localhost 
IDENTIFIED BY 'secret';
ログイン後にコピー

ユーザー アカウントの権限を表示するには、次の

SHOW GRANTS ステートメントを使用します:

SHOW GRANTS FOR dbadmin@localhost;
ログイン後にコピー

mysqlデータベースにユーザーを追加する方法

結果の

*.* は、ユーザー アカウント dbadmin がデータベース サーバーにのみログインでき、他の権限がないことを示しています。ユーザーに権限を付与するには、GRANT ステートメントを使用します。

ドットの前の部分 (

.) はデータベースを表し、ドットの後の部分 (.) はテーブルを表すことに注意してください。たとえば、database.table

ユーザー アカウントが任意のホストから接続できるようにするには、次の例に示すように、パーセント (

%) ワイルドカード文字を使用します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="bt-code notranslate sqlHigh">CREATE USER superadmin@&amp;#39;%&amp;#39;IDENTIFIED BY &amp;#39;secret&amp;#39;;</pre><div class="contentsignin">ログイン後にコピー</div></div>パーセント ワイルドカード文字

%

は、LIKE 演算子で使用されるのと同じ効果があり、たとえば、mysqladmin ユーザー アカウントがどこからでも接続できるようにします。 begtut.com ホストのサブドメイン データベース サーバーに対しては、以下に示すようにパーセント ワイルドカード文字 % を使用します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="bt-code notranslate sqlHigh">CREATE USER mysqladmin@&amp;#39;%.begtut.com&amp;#39;IDENTIFIED by &amp;#39;secret&amp;#39;;</pre><div class="contentsignin">ログイン後にコピー</div></div>アンダースコア ワイルドカードも使用できることに注意してください。

CREATE USER

ステートメント内の文字 _。 ユーザー アカウントの

hostname

部分を省略すると、MySQL はそれを受け入れ、ユーザーが任意のホストから接続できるようにします。たとえば、次のステートメントは、任意のホストからデータベース サーバーに接続できる remote という名前の新しいユーザー アカウントを作成します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="bt-code notranslate sqlHigh">CREATE USER remote;</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div> ユーザー

remote

が作成されていることがわかります。アカウントには次のような権限が付与されます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="bt-code notranslate sqlHigh">SHOW GRANTS FOR remote;</pre><div class="contentsignin">ログイン後にコピー</div></div>

mysqlデータベースにユーザーを追加する方法ユーザー アカウント

'username@hostname'

を誤って参照した場合、MySQL はユーザー を作成します。 username@hostname name により、ユーザーは任意のホストから接続できるようになりますが、これは期待どおりではない可能性があります。 <p>例如,以下语句创建一个<code class="bt-codespan">api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。

CREATE USER &#39;api@localhost&#39;;
ログイン後にコピー
SHOW GRANTS FOR &#39;api@localhost&#39;;
ログイン後にコピー

mysqlデータベースにユーザーを追加する方法

如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote已存在的名为的用户帐户:

<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="bt-code notranslate sqlHigh">CREATE USER remote;</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>

MySQL发出以下错误消息:

ERROR 1396 (HY000): Operation CREATE USER failed for &#39;remote&#39;@&#39;%&#39;
ログイン後にコピー

注意:CREATE USER 语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT 语句。

2、使用MySQL GRANT 语句新建用户

虽然 CREATE USER 语句可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。

使用 GRANT 语句创建用户的基本语法形式如下:

GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] &#39;password&#39;]
ログイン後にコピー

其中:

  • priv_type 参数表示新用户的权限;

  • database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;

  • user 参数指定新用户的账号,由用户名和主机名构成;

  • IDENTIFIED BY 关键字用来设置密码;

  • password 参数表示新用户的密码。

示例:

下面使用 GRANT 语句创建名为 test3 的用户,主机名为 localhost,密码为 test3。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:

mysql> GRANT SELECT ON*.* TO &#39;test3&#39;@localhost IDENTIFIED BY &#39;test3&#39;;
Query OK, 0 rows affected, 1 warning (0.01 sec)
ログイン後にコピー

其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

【相关推荐:mysql视频教程

以上がmysqlデータベースにユーザーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート