Data Control Language (Data Control Language) ist eine Anweisung, die zum Festlegen oder Ändern von Datenbankbenutzer- oder Rollenberechtigungen verwendet wird Alle Datenbanken in einem bestimmten Server. Diese Berechtigungen werden in der Tabelle mysql.user gespeichert. Die Datenbankhierarchie gilt für alle Ziele in einer bestimmten Datenbank. Diese Berechtigungen werden in den Tabellen mysql.db und mysql.host gespeichert
gilt für alle Spalten in einer bestimmten Tabelle. | |
---|---|
Subroutinenebene | |
MySQL-Berechtigungssystem | |
table_priv | |
column_priv | |
Das MySQL-Benutzerkonto besteht aus zwei Teile: Benutzername und Hostname, das heißt Benutzername@Hostname, Hostname kann IP oder Maschinenname sein, Hostname% bedeutet, dass Hosts sich überall remote bei der MySQL-Datenbank anmelden können | Format: |
---|---|
<?php $conn = mysqli_connect("localhost", "root","admin","mysql"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "CREATE USER 'user1'@'%' IDENTIFIED BY '123456'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?> | Effekt:|
Format: | DROP USER 'Benutzername‘[@'hostname' ] |
<?php $conn = mysqli_connect("localhost", "root","admin","mysql"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "DROP USER 'user1'@'%'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?> | Passwort ändernFormat: |
Beispiel: | <?php $conn = mysqli_connect("localhost", "root","admin","mysql"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?> | Berechtigungsverwaltung: MySQL mit
Struktur | Management |
INSERT
UPDATEDELETE
FILECREATE
ALTERCREATE TEMPORARY TABLES %
表示允许任何地方的主机远程登录 MySQL 数据库.
格式:
CREATE USER '用户名' [@'主机名'][IDENTIFIED BY '密码'];
例子:
<?php $conn = mysqli_connect("localhost", "root","admin"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "SHOW GRANTS FOR 'root'@'localhost'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
效果:
格式:
DROP USER '用户名‘[@'主机名']
例子:
<?php $conn = mysqli_connect("localhost", "root","admin"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "GRANT ALL PRIVILEGES ON study.table1 TO 'user1'@'%'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?>
格式:
ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码';
例子:
<?php $conn = mysqli_connect("localhost", "root","admin"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "REVOKE ALL PRIVILEGES ON study.table1 FROM 'user1'@'%'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?>
MySQL 使用GRANT
和REVOKE
ANSICHT ANZEIGEN
EVENT | TRIGGERUSAGE | GRANT | SUPER
---|---|---|
TABELLEN SPERREN REFERENZEN REPUCATION CUENT REPUCATION SLAVE USER |
查看权限格式:
例子: <?php $conn = mysqli_connect("localhost", "root","admin"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "SHOW GRANTS FOR 'root'@'localhost'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?> 输出结果:
用户授权格式:
例子: <?php $conn = mysqli_connect("localhost", "root","admin"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "GRANT ALL PRIVILEGES ON study.table1 TO 'user1'@'%'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?> 撤销授权
例子: <?php $conn = mysqli_connect("localhost", "root","admin"); if ($conn) { echo "数据库连接成功\n"; } else { echo mysqli_connect_error(); } # SQL语句 $SQL = "REVOKE ALL PRIVILEGES ON study.table1 FROM 'user1'@'%'"; # 执行 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL 语句执行成功!\n"; }else { echo mysqli_error($conn); } # 关闭连接 mysqli_close($conn); ?> 刷新权限格式:
注意事项禁止 root 远程登录. 禁止 root 远程登录的原因:
|
Das obige ist der detaillierte Inhalt vonDatenkontrollmethoden von MySQL und PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!