Der vollständige englische Name von DCL lautet Data Control Language (Data Control Language), mit der Datenbankbenutzer verwaltet und Datenbankzugriffsberechtigungen gesteuert werden.
Benutzerbezogene Befehle:
Benutzer abfragen: select * from mysql.user;
select * from mysql.user;
表中有加密后的密码,如果忘记密码,可以通过配置实现免密登录,并进行修改密码。
其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以远程访问的。 User代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。主机名可以使用 % ,代表的就是任何一个主机都能访问。
往往linux当中安装mysql,然后使用 其他主机的客户端 连mysql连不上,就是因为Host配置的是localhost这个原因导致的!
创建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
修改用户密码:ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;
删除用户:DROP USER '用户名'@'主机名' ;
注意事项:
在MySQL中需要通过用户名@主机名
的方式,来唯一标识一个用户。
主机名可以使用 % 通配。
命令使用示例:
#创建用户aaa, 只能够在当前主机localhost访问, 密码123456; create user 'aaa'@'localhost' identified by '123456'; #创建用户bbb, 可以在任意主机访问该数据库, 密码123456; create user 'bbb'@'%' identified by '123456'; #修改用户bbb的访问密码为1234; alter user 'bbb'@'%' identified with mysql_native_password by '1234'; #删除 aaa@localhost 用户 drop user 'aaa'@'localhost';
MySQL中定义了很多种权限,但是常用的就以下几种:
命令:
查询权限:SHOW GRANTS FOR '用户名'@'主机名' ;
授予权限:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
撤销权限:REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
注意事项:
多个权限之间,使用逗号分隔
授权时, 数据库名和表名可以使用 * 进行通配,代表所有
where Host stellt den aktuellen Host dar. Wenn der Host, auf den der Benutzer zugreift, localhost ist, bedeutet dies nur, dass nur auf dem aktuellen lokalen Computer darauf zugegriffen werden kann und nicht aus der Ferne. Benutzer stellt den Benutzernamen für den Zugriff auf die Datenbank dar. In MySQL muss ein Benutzer durch Host und Benutzer eindeutig identifiziert werden. Sie können % im Hostnamen verwenden, was bedeutet, dass jeder Host darauf zugreifen kann.
Ich installiere MySQL oft unter Linux und verwende dann den Client anderer Hosts, um eine Verbindung zu MySQL herzustellen. Dies liegt daran, dass der Host mit localhost konfiguriert ist!
🎜CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
🎜🎜ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'new password' ;
🎜🎜DROP USER 'username' @'hostname' ;
🎜🎜🎜🎜🎜Hinweise:🎜🎜username@hostname übergeben, um einen eindeutig zu identifizieren Benutzer. 🎜🎜<li>🎜Der Hostname kann mit % als Platzhalter verwendet werden. 🎜🎜🎜🎜🎜Beispiel zur Befehlsverwendung: 🎜🎜<pre class="brush:bash;">#查询 &#39;bbb&#39;@&#39;%&#39; 用户的权限
show grants for &#39;bbb&#39;@&#39;%&#39;;
#授予 &#39;bbb&#39;@&#39;%&#39; 用户itcast数据库所有表的所有操作权限
grant all on itcast.* to &#39;bbb&#39;@&#39;%&#39;;
#撤销 &#39;bbb&#39;@&#39;%&#39; 用户的itcast数据库的所有权限
revoke all on itcast.* from &#39;bbb&#39;@&#39;%&#39;;</pre>🎜 2. Berechtigungskontrolle 🎜🎜Viele Arten von Berechtigungen sind in MySQL definiert, aber die folgenden werden häufig verwendet: 🎜🎜<img src="https://img.php%20.%20cn/upload/article/000/000/164/168520238356343.png" alt="So fügen Sie Benutzer hinzu und legen Berechtigungen in MySQL fest">🎜🎜🎜Befehl: 🎜🎜<ul class="list-paddingleft-2">
<li>🎜Berechtigungen abfragen: <code>SHOW GRANTS FOR 'username'@'hostname' ;
🎜🎜GRANT-Berechtigungsliste ON Datenbankname.Tabellenname TO 'Benutzername '@'Hostname';
🎜🎜REVOKE-Berechtigungsliste ON Datenbankname. Tabellenname FROM 'Benutzername'@'Hostname';
🎜🎜🎜 🎜🎜Hinweis: 🎜🎜Datenbankname und Tabellenname verwendet werden * ist mit Platzhaltern versehen und repräsentiert alle
. 🎜🎜🎜🎜🎜Beispiel zur Befehlsverwendung: 🎜🎜flush privileges;🎜Nachdem MySQL-Benutzerdaten und -Berechtigungen geändert wurden und Sie möchten, dass sie direkt wirksam werden, ohne den MySQL-Dienst neu zu starten, müssen Sie diesen Befehl ausführen. Normalerweise befürchten Sie nach dem Ändern der Einstellungen des ROOT-Kontos, dass Sie sich nach dem Neustart nicht mehr anmelden können, sodass Sie direkt nach dem Spülen prüfen können, ob die Berechtigungseinstellungen wirksam werden. Ohne zu viel Risiko einzugehen. 🎜rrreee
Das obige ist der detaillierte Inhalt vonSo fügen Sie Benutzer hinzu und legen Berechtigungen in MySQL fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!