ユーザーを追加する 2 つの方法: 1. CREATE USER ステートメントを使用して新しいユーザーを作成し、対応するパスワードを設定します。構文は「CREATE USER user IDENTIFIED BY [PASSWORD] 'password']」です。 2. GRANT ステートメントを使用して、構文「GRANT ユーザー権限 ON データベース.テーブル TO ユーザー [IDENTIFIED BY [PASSWORD] 'パスワード']」を使用して新しいユーザーを作成します。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL がインストールされると、root という名前のユーザーがデフォルトで作成されます。このユーザーはスーパー権限を持ち、MySQL サーバー全体を制御できます。
MySQL の日常的な管理と運用では、誰かがデータベースを制御するために root ユーザーを悪意を持って使用することを防ぐために、通常、適切な権限を持つユーザーを作成し、root ユーザーの使用を最小限または最小限に抑えます。データへの安全なアクセスを確保するために、システムにログインすることが可能です。
#mysql データベースにユーザーを追加 (作成) する 2 つの方法
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;
結果の
*.* は、ユーザー アカウント
dbadmin がデータベース サーバーにのみログインでき、他の権限がないことを示しています。ユーザーに権限を付与するには、
GRANT ステートメントを使用します。
.) はデータベースを表し、ドットの後の部分 (
.) はテーブルを表すことに注意してください。たとえば、
database.table
%) ワイルドカード文字を使用します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="bt-code notranslate sqlHigh">CREATE USER superadmin@&#39;%&#39;IDENTIFIED BY &#39;secret&#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@&#39;%.begtut.com&#39;IDENTIFIED by &#39;secret&#39;;</pre><div class="contentsignin">ログイン後にコピー</div></div>
アンダースコア ワイルドカードも使用できることに注意してください。
ステートメント内の文字 _。 ユーザー アカウントの
部分を省略すると、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>
ユーザー
が作成されていることがわかります。アカウントには次のような権限が付与されます: <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>
ユーザー アカウント
'username@hostname' を誤って参照した場合、MySQL はユーザー を作成します。 username@hostname name
により、ユーザーは任意のホストから接続できるようになりますが、これは期待どおりではない可能性があります。 <p>例如,以下语句创建一个<code class="bt-codespan">api@localhost
可以从任何主机连接到MySQL数据库服务器的新用户。
CREATE USER 'api@localhost';
SHOW GRANTS FOR 'api@localhost';
如果您创建一个已存在的用户,MySQL将发出错误。例如,以下语句创建一个remote
已存在的名为的用户帐户:
MySQL发出以下错误消息:
ERROR 1396 (HY000): Operation CREATE USER failed for 'remote'@'%'
注意:CREATE USER
语句只是一个没有权限的新用户帐户。如果要向用户授予权限,请使用GRANT
语句。
虽然 CREATE USER 语句可以创建普通用户,但是这种方式不便授予用户权限。于是 MySQL 提供了 GRANT 语句。
使用 GRANT 语句创建用户的基本语法形式如下:
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password']
其中:
priv_type 参数表示新用户的权限;
database.table 参数表示新用户的权限范围,即只能在指定的数据库和表上使用自己的权限;
user 参数指定新用户的账号,由用户名和主机名构成;
IDENTIFIED BY 关键字用来设置密码;
password 参数表示新用户的密码。
示例:
下面使用 GRANT 语句创建名为 test3 的用户,主机名为 localhost,密码为 test3。该用户对所有数据库的所有表都有 SELECT 权限。SQL 语句和执行过程如下:
mysql> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3'; Query OK, 0 rows affected, 1 warning (0.01 sec)
其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。
技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。
【相关推荐:mysql视频教程】
以上がmysqlデータベースにユーザーを追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。