Heim > Datenbank > MySQL-Tutorial > Hauptteil

So fügen Sie Benutzer zur MySQL-Datenbank hinzu

青灯夜游
Freigeben: 2022-06-14 17:18:45
Original
12283 Leute haben es durchsucht

Zwei Methoden zum Hinzufügen von Benutzern: 1. Verwenden Sie die CREATE USER-Anweisung, um einen neuen Benutzer zu erstellen und das entsprechende Passwort festzulegen. Die Syntax lautet „CREATE USER user IDENTIFIED BY [PASSWORD] ‚password‘]“. 2. Verwenden Sie die GRANT-Anweisung, um einen neuen Benutzer zu erstellen, mit der Syntax „GRANT Benutzerberechtigung ON Datenbank.table TO Benutzer [IDENTIFIED BY [PASSWORD] ‚Passwort‘]“.

So fügen Sie Benutzer zur MySQL-Datenbank hinzu

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Bei der Installation von MySQL wird standardmäßig ein Benutzer namens root erstellt. Dieser Benutzer verfügt über Superprivilegien und kann den gesamten MySQL-Server steuern.

Um zu verhindern, dass jemand den Root-Benutzer in böswilliger Absicht zur Steuerung der Datenbank verwendet, erstellen wir bei der täglichen Verwaltung und dem Betrieb von MySQL normalerweise einige Benutzer mit entsprechenden Berechtigungen und verwenden den Root-Benutzer so wenig oder so wenig wie möglich zum Anmelden zum System, um den sicheren Zugriff zu gewährleisten.

Zwei Möglichkeiten, Benutzer zur MySQL-Datenbank hinzuzufügen (zu erstellen)

  • Verwenden Sie die CREATE USER-Anweisung, um Benutzer zu erstellen

  • Verwenden Sie die GRANT-Anweisung, um Benutzer zu erstellen

1. Verwenden Sie die MySQL-Anweisung CREATE USER um neue Benutzer zu erstellen

Ja Verwenden Sie die CREATE USER-Anweisung, um einen MySQL-Benutzer zu erstellen und das entsprechende Passwort festzulegen. Das grundlegende Syntaxformat ist wie folgt:

CREATE USER 用户 IDENTIFIED BY [ PASSWORD ] 'password'];
Nach dem Login kopieren

1) Der Benutzer

gibt an, ein Benutzerkonto zu erstellen, das Format ist Benutzername'@'Hostname. Hier ist user_name der Benutzername und host_name der Hostname, also der Name des Hosts, den der Benutzer für die Verbindung zu MySQL verwendet. Wenn während des Erstellungsprozesses nur der Benutzername ohne Angabe des Hostnamens angegeben wird, wird der Hostname standardmäßig auf „%“ gesetzt, was eine Gruppe von Hosts darstellt, d. h. die Berechtigungen stehen allen Hosts offen.

3) IDENTIFIED BY-Klausel

wird zur Angabe des Benutzerpassworts verwendet. Neue Benutzer benötigen kein Initialpasswort. Wenn der Benutzer kein Passwort hat, kann diese Klausel weggelassen werden.

2) PASSWORD 'password'

PASSWORD bedeutet die Verwendung eines Hashwerts zum Festlegen des Passworts. Dieser Parameter ist optional. Wenn das Passwort eine einfache Zeichenfolge ist, muss das Schlüsselwort PASSWORD nicht verwendet werden. „Passwort“ stellt das Passwort dar, das der Benutzer zum Anmelden verwendet, und muss in einfache Anführungszeichen gesetzt werden.

Hinweis: Das Passwort muss im Klartext erfolgen. MySQL verschlüsselt Passwörter, bevor Benutzerkonten in der Tabelle user gespeichert werden.
user表中之前,MySQL将加密密码。

例如,要创建一个使用 密码dbadmin连接到MySQL数据库服务器 的新用户,请使用以下 语句:localhostsecretCREATE USER

CREATE USER dbadmin@localhost 
IDENTIFIED BY 'secret';
Nach dem Login kopieren

要查看用户帐户的权限,请使用以下SHOW GRANTS语句:

SHOW GRANTS FOR dbadmin@localhost;
Nach dem Login kopieren

So fügen Sie Benutzer zur MySQL-Datenbank hinzu

结果中的*.*表示用户帐户dbadmin只能登录数据库服务器,没有其他权限。要向用户授予权限,请使用GRANT语句。

请注意,点(.)前面的部分代表数据库,点(.)后面的部分代表表格,例如, database.table

要允许用户帐户从任何主机进行连接,请使用百分比(%) 通配符,如以下示例所示:

CREATE USER superadmin@'%'IDENTIFIED BY 'secret';
Nach dem Login kopieren

百分比通配符% 与在LIKE运算符中使用的效果相同,例如,要允许mysqladmin用户帐户从begtut.com 主机的任何子域连接到数据库服务器 ,请使用百分比通配符% ,如下所示:

CREATE USER mysqladmin@'%.begtut.com'IDENTIFIED by 'secret';
Nach dem Login kopieren

请注意,您还可以在CREATE USER 语句中使用下划线通配符_ 。

如果省略hostname 用户帐户的一部分,MySQL将接受它并允许用户从任何主机连接。例如,以下语句创建一个名为remote 可以从任何主机连接到数据库服务器的新用户帐户:

CREATE USER remote;
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

您可以看到授予remote用户帐户的权限,如下所示:

SHOW GRANTS FOR remote;
Nach dem Login kopieren

So fügen Sie Benutzer zur MySQL-Datenbank hinzu

如果您不小心引用了用户帐户'username@hostname',MySQL会创建一个用户 username@hostname name

Um beispielsweise einen neuen Benutzer mit dem Passwort dbadmin zu erstellen, um eine Verbindung zum MySQL-Datenbankserver herzustellen, verwenden Sie die folgende Anweisung: ">localhostsecretBENUTZER ERSTELLEN🎜
CREATE USER 'api@localhost';
Nach dem Login kopieren
Nach dem Login kopieren
🎜Um die Berechtigungen von anzuzeigen Wenn Sie ein Benutzerkonto haben, verwenden Sie die folgende SHOW GRANTS-Anweisung: 🎜
SHOW GRANTS FOR 'api@localhost';
Nach dem Login kopieren
Nach dem Login kopieren
🎜So fügen Sie Benutzer zur MySQL-Datenbank hinzu🎜🎜*.* in den Ergebnissen stellt das Benutzerkonto < dar code class="bt-codespan ">dbadmin kann sich nur beim Datenbankserver anmelden und verfügt über keine weiteren Berechtigungen. Um einem Benutzer Berechtigungen zu erteilen, verwenden Sie die Anweisung GRANT. 🎜🎜Bitte beachten Sie, dass der Teil vor dem Punkt (.) die Datenbank darstellt und der Teil nach dem Punkt (.< /code>) Stellt eine Tabelle dar, zum Beispiel <code class="bt-codespan">database.table 🎜🎜Um einem Benutzerkonto die Verbindung von jedem Host aus zu ermöglichen, verwenden Sie Prozentsätze (%) Platzhalter, wie im folgenden Beispiel gezeigt: 🎜
CREATE USER remote;
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
🎜Der prozentuale Platzhalter % arbeitet mit dem LIKE hat die gleiche Wirkung wie bei Verwendung im mysqladmin-Benutzerkonto von einem beliebigen Subhost des begtut.com-Hostdomäne, um eine Verbindung zum Datenbankserver herzustellen, verwenden Sie bitte den prozentualen Platzhalter % wie unten gezeigt: 🎜
ERROR 1396 (HY000): Operation CREATE USER failed for &#39;remote&#39;@&#39;%&#39;
Nach dem Login kopieren
Nach dem Login kopieren
🎜Bitte beachten Sie, dass Sie dies auch tun können Verwenden Sie den Prozent-Platzhalter . Verwenden Sie den Unterstrich-Platzhalter _ in der CREATE USER-Anweisung. 🎜🎜Wenn Sie den Teil hostname im Benutzerkonto weglassen, akzeptiert MySQL ihn und ermöglicht dem Benutzer die Verbindung von jedem Host aus. Die folgende Anweisung erstellt beispielsweise ein neues Benutzerkonto mit dem Namen remote, das von jedem Host aus eine Verbindung zum Datenbankserver herstellen kann: 🎜
GRANT priv_type ON database.table TO user [IDENTIFIED BY [PASSWORD] &#39;password&#39;]
Nach dem Login kopieren
Nach dem Login kopieren
🎜 Sie können die Berechtigung remoteDie Berechtigungen des Benutzerkontos, wie folgt: 🎜
mysql> GRANT SELECT ON*.* TO &#39;test3&#39;@localhost IDENTIFIED BY &#39;test3&#39;;
Query OK, 0 rows affected, 1 warning (0.01 sec)
Nach dem Login kopieren
Nach dem Login kopieren
🎜So fügen Sie Benutzer zur MySQL-Datenbank hinzu🎜🎜Wenn Sie versehentlich auf das Benutzerkonto 'username@hostname' verweisen, wird MySQL dies tun Erstellen Sie einen Benutzer Benutzername@Hostname Name und ermöglichen Sie Benutzern die Verbindung von jedem Host aus, was möglicherweise nicht Ihren Erwartungen entspricht. 🎜

例如,以下语句创建一个api@localhost可以从任何主机连接到MySQL数据库服务器的新用户。

CREATE USER &#39;api@localhost&#39;;
Nach dem Login kopieren
Nach dem Login kopieren
SHOW GRANTS FOR &#39;api@localhost&#39;;
Nach dem Login kopieren
Nach dem Login kopieren

So fügen Sie Benutzer zur MySQL-Datenbank hinzu

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

CREATE USER remote;
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

MySQL发出以下错误消息:

ERROR 1396 (HY000): Operation CREATE USER failed for &#39;remote&#39;@&#39;%&#39;
Nach dem Login kopieren
Nach dem Login kopieren

注意: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;]
Nach dem Login kopieren
Nach dem Login kopieren

其中:

  • 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)
Nach dem Login kopieren
Nach dem Login kopieren

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

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

【相关推荐:mysql视频教程

Das obige ist der detaillierte Inhalt vonSo fügen Sie Benutzer zur MySQL-Datenbank hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!