Heim  >  Artikel  >  Datenbank  >  Eine kurze Diskussion darüber, wie man in MySQL Benutzer hinzufügt, löscht und autorisiert

Eine kurze Diskussion darüber, wie man in MySQL Benutzer hinzufügt, löscht und autorisiert

青灯夜游
青灯夜游nach vorne
2021-10-08 18:49:532245Durchsuche

Dieser Artikel führt Sie in die Benutzerverwaltung in MySQL ein und stellt die Methoden zum Hinzufügen, Autorisieren und Löschen von Benutzern vor. Ich hoffe, er wird Ihnen hilfreich sein!

Eine kurze Diskussion darüber, wie man in MySQL Benutzer hinzufügt, löscht und autorisiert

Verwenden Sie den root-Benutzer nicht direkt zum Verwalten von Anwendungsdaten. [Verwandte Empfehlungen: root 用户管理应用数据。【相关推荐:mysql视频教程

添加用户

以root用户登录数据库,运行以下命令:

create user zhangsan identified by 'zhangsan';

上面的命令创建了用户 zhangsan, 密码是 zhangsan. 在 mysql.user 表里可以查看到新增用户的信息:

select User, Host, Password from mysql.user where User = 'zhangsan';

授权

命令格式: grant privilegesCode on dbName.tableName to username@host identified by "password";

grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

上面的语句将 zhangsanDb 数据库的所有操作权限都授权给了用户 zhangsan.

mysql.db 表里可以查看到新增数据库权限的信息:

select User, Db, Host, Select_priv, Insert_priv, Update_priv, Delete_priv from mysql.db where User = 'zhangsan';

也可以通过 show grants 命令查看权限授予执行的命令:

show grants for 'zhangsan';

privilegesCode 表示授予的权限类型, 常用的有以下几种类型[1]

  • all privileges: 所有权限
  • select: 读取权限
  • delete: 删除权限
  • update: 更新权限
  • create: 创建权限
  • drop: 删除数据库、数据表权限

dbName.tableName 表示授予权限的具体库或表, 常用的有以下几种选项

  • .: 授予该数据库服务器所有数据库的权限
  • dbName.*: 授予dbName数据库所有表的权限
  • dbName.dbTable: 授予数据库dbName中dbTable表的权限

username@host 表示授予的用户以及允许该用户登录的IP地址. 其中Host有以下几种类型

  • localhost: 只允许该用户在本地登录, 不能远程登录
  • %: 允许在除本机之外的任何一台机器远程登录
  • 192.168.52.32: 具体的 IP 表示只允许该用户从特定IP登录.

password 指定该用户登录时的密码

flush privileges 表示刷新权限变更

修改密码

运行以下命令可以修改用户密码:

update mysql.user set password = password('zhangsannew') where user = 'zhangsan' and host = '%';
flush privileges;

删除用户

运行以下命令可以删除用户:

drop user zhangsan@'%';

drop user 命令会删除用户以及对应的权限, 执行命令后你会发现 mysql.user 表和 mysql.db 表的相应记录都消失了.

常用命令组

创建用户并授予指定数据库全部权限

适用于Web应用创建MySQL用户

create user zhangsan identified by 'zhangsan';
grant all privileges on zhangsanDb.* to zhangsan@'%' identified by 'zhangsan';
flush privileges;

创建了用户 zhangsan , 并将数据库 zhangsanDB 的所有权限授予 zhangsan。如果要使 zhangsan 可以从本机登录,那么可以多赋予 localhostMySQL-Video-Tutorial

]

Benutzer hinzufügen

Melden Sie sich als Root-Benutzer bei der Datenbank an und führen Sie den folgenden Befehl aus :
grant all privileges on zhangsanDb.* to zhangsan@'localhost' identified by 'zhangsan';
Der obige Befehl erstellt den Benutzer zhangsan und das Passwort lautet zhangsan. Sie können die neuen Benutzerinformationen in mysql.user anzeigen Tabelle: 🎜rrreee

Grant

🎜Befehlsformat: privilegienCode für dbName.tableName an Benutzername@Host gewähren, der durch „Passwort“ identifiziert wird ;🎜rrreee🎜Die obige Anweisung autorisiert alle Betriebsberechtigungen der zhangsanDb-Datenbank für den Benutzer zhangsan.🎜🎜In der mysql.db code> Tabelle Sie können die Informationen zu den neuen Datenbankberechtigungen anzeigen:🎜rrreee🎜Sie können auch die durch Berechtigungserteilung ausgeführten Befehle über den Befehl <code>show grants anzeigen:🎜rrreee

privilegienCode stellt den Typ der gewährten Privilegien dar. Die folgenden Typen werden häufig verwendet [1]

  • alle Privilegien: alle Privilegien
  • select: Leseberechtigung
  • delete: Löschberechtigung
  • update: Aktualisierungsberechtigung
  • li>
  • create: Berechtigungen erstellen
  • drop: Datenbank- und Datentabellenberechtigungen löschen

dbName.tableName gibt die spezifische Bibliothek oder Tabelle an, für die Berechtigungen gewährt werden. Die folgenden Optionen werden häufig verwendet

  • .: Gewährt Berechtigungen für alle Datenbanken in diesem Datenbankserver
  • dbName.*: Gewährt Berechtigungen für alle Tabellen in der dbName-Datenbank
  • dbName.dbTable: Gewährt Berechtigungen für die dbTable-Tabelle in der Datenbank dbName

username@host code> stellt den gewährten Benutzer und die IP-Adresse dar, die dem Benutzer die Anmeldung ermöglicht. Der Host hat die folgenden Typen

  • localhost: Nur der Benutzer darf sich anmelden. Lokale Anmeldung, keine Remote-Anmeldung.
  • %: Ermöglicht die Remote-Anmeldung von jedem Computer aus außer dieser Maschine
  • 192.168.52.32: Spezifische IP bedeutet, dass sich der Benutzer nur von einer bestimmten IP aus anmelden darf.
  • passwort Gibt das Passwort für den Benutzer an, um sich anzumelden

    Flush-Berechtigungen Zeigt Änderungen der Aktualisierungsberechtigung an strong>

    Passwort ändern strong>

    🎜Führen Sie den folgenden Befehl aus, um das Benutzerpasswort zu ändern:🎜rrreee

    Benutzer löschen

    🎜Führen Sie den folgenden Befehl aus, um Löschen Sie den Benutzer:🎜rrreee🎜drop user Der Befehl löscht den Benutzer und die entsprechenden Berechtigungen. Nach dem Ausführen des Befehls werden Sie feststellen, dass die entsprechenden Datensätze in mysql.user sind. code>-Tabelle und <code>mysql.db-Tabelle sind verschwunden.🎜

    Common commands Group

    Erstellen Sie Benutzer und gewähren Sie vollständige Berechtigungen für die angegebene Datenbank

    🎜Geeignet für Webanwendungen zum Erstellen von MySQL-Benutzern🎜rrreee 🎜Erstellter Benutzer zhangsan und alle Berechtigungen für die Datenbank zhangsanDB an zhangsan erteilt. Wenn Sie möchten, dass sich zhangsan von diesem Computer aus anmelden kann, können Sie localhost zusätzliche Berechtigungen erteilen: 🎜rrreee🎜[Verwandte Empfehlungen: 🎜MySQL-Video-Tutorial🎜]🎜

    Das obige ist der detaillierte Inhalt vonEine kurze Diskussion darüber, wie man in MySQL Benutzer hinzufügt, löscht und autorisiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen