Data Control Language (Data Control Language) est une instruction utilisée pour définir ou modifier les autorisations des utilisateurs ou des rôles de base de données. Toutes les bases de données d'un serveur donné. Ces autorisations sont stockées dans la table mysql.user
s'applique à toutes les cibles d'une base de données donnée. Ces autorisations sont stockées dans les tables mysql.db et mysql.host | . |
---|---|
Le niveau de la colonne | |
niveau de sous-programme | |
. Les informations d'autorisation de MySQL sont principalement stockées dans les tableaux suivants. Lorsqu'un utilisateur se connecte à la base de données, MySQL vérifiera les autorisations de l'utilisateur en fonction de ces tableaux, du compte d'enregistrement, du mot de passe et des informations d'autorisation globales | |
enregistrements. autorisations liées à la base de données |
procs_priv | |
---|---|
Gestion des utilisateurs | Dans MySQL, utilisez CREATE USER pour créer des utilisateurs. Les utilisateurs n'ont aucune autorisation après la création. |
Le compte utilisateur MySQL se compose de deux parties : nom d'utilisateur et nom d'hôte, c'est-à-dire nom d'utilisateur@nom d'hôte, le nom d'hôte peut être une adresse IP ou un nom de machine, le nom d'hôte % signifie permettre aux hôtes n'importe où de se connecter à distance à la base de données MySQL. |
Format : |
Exemple : | Effet : |
Supprimer l'utilisateur | Format : |
<?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); ?>
ALTER USER 'Username'@'Hostname' IDENTIFIÉ PAR 'Nouveau mot de passe';Exemple :
<?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); ?>
MySQL utilisant GRANT
et REVOKE
pour autoriser et révoquer l'autorisation. Les autorisations sont divisées en 3 catégories, catégorie de données, catégorie de structure et catégorie de gestion %
表示允许任何地方的主机远程登录 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
structure | gestion | |
---|---|---|
INSERT UPDATE DELETE FILE | CREATEALTER INDEX DROP CREATE TABLES SHOW VUE CRÉER UNE ROUTINE ALTER LA ROUTINE EXECUTER CRÉER UNE VUE ÉVÉNEMENT TRIGGER | UTILISATIONGRANT SUPER PROCESS RELOAD ARRÊT AFFICHER LES BASES DE DONNÉES VERROUILLER LES TABLES RÉFÉRENCES REPUCATION CUENT REPUCATION SLAVE CREATE USER |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!