Table des matières
Data Control Language
Gestion des autorisations
删除用户
修改密码
权限管理
查看权限
用户授权
撤销授权
刷新权限
注意事项
Maison base de données tutoriel mysql Méthodes de contrôle des données de MySQL et PHP

Méthodes de contrôle des données de MySQL et PHP

Jun 03, 2023 pm 04:04 PM
mysql php

Data Control Language

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

La hiérarchie de la base de données 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 table s'applique à toutes les colonnes d'une table donnée. Ces autorisations sont stockées dans la table mysql.tables_priv. Le niveau de la colonne s'applique à une seule colonne d'une table donnée. niveau de sous-programmeLes autorisations CREATE ROUTINE, ALTER ROUTINE, EXECUTE et GRANT dans la table mysql.columns_priv s'appliquent aux sous-programmes stockés. Ces autorisations peuvent être accordées au niveau global et au niveau de la base de données Autorisations MySQL Systèmedbtable_priv
.
. 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
autorisations de l'utilisateur sur une certaine table

column_privutilisateur sur une certaine table Autorisations détenues par une colonneAutorisations de l'utilisateur pour utiliser des procédures stockées et des fonctions stockées Gestion des utilisateursDans MySQL, utilisez CREATE USER pour créer des utilisateurs. Les utilisateurs n'ont aucune autorisation après la création.Afficher tous les utilisateurs :Créer un utilisateur
CRÉER UN UTILISATEUR 'nom d'utilisateur' [@'hostname'][IDENTIFIÉ PAR 'mot de passe'];
<?php

$conn = mysqli_connect("localhost", "root","admin","mysql");

if ($conn) {
    echo "数据库连接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "CREATE USER &#39;user1&#39;@&#39;%&#39;
        IDENTIFIED BY &#39;123456&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion
Méthode de contrôle des données MySQL et PHP
DROP USER 'Nom d'utilisateur‘[@'hostname']
procs_priv
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'utilisateurFormat :
Exemple :

<?php

$conn = mysqli_connect("localhost", "root","admin","mysql");

if ($conn) {
    echo "数据库连接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "DROP USER &#39;user1&#39;@&#39;%&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion

Changer le mot de passe

Format :

ALTER USER 'Username'@'Hostname' IDENTIFIÉ PAR 'Nouveau mot de passe';

Méthodes de contrôle des données de MySQL et PHPExemple :

<?php

$conn = mysqli_connect("localhost", "root","admin","mysql");

if ($conn) {
    echo "数据库连接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "ALTER USER &#39;root&#39;@&#39;localhost&#39; 
        IDENTIFIED BY &#39;123456&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion

Gestion des autorisations

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 &#39;root&#39;@&#39;localhost&#39;";

# 执行
$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);

?>
Copier après la connexion
Copier après la connexion

效果:

Méthodes de contrôle des données de MySQL et PHP

删除用户

格式:

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 &#39;user1&#39;@&#39;%&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion
Copier après la connexion

修改密码

格式:

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 &#39;user1&#39;@&#39;%&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion
Copier après la connexion

权限管理

MySQL 使用GRANTREVOKE

. structuregestionSELECTCREATEUTILISATION

查看权限

格式:

SHOW GRANTS FOR '用户名'[@'主机名']

例子:

<?php

$conn = mysqli_connect("localhost", "root","admin");

if ($conn) {
    echo "数据库连接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SHOW GRANTS FOR &#39;root&#39;@&#39;localhost&#39;";

# 执行
$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);

?>
Copier après la connexion
Copier après la connexion

输出结果:

数据库链接成功
SQL 语句执行成功!
Array
(
[Grants for root@localhost] => GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`localhost` WITH GRANT OPTION
)
Array
(
[Grants for root@localhost] => GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,AUTHENTICATION_POLICY_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,GROUP_REPLICATION_STREAM,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PASSWORDLESS_USER_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `root`@`localhost` WITH GRANT OPTION
)
Array
(
[Grants for root@localhost] => GRANT PROXY ON ``@`` TO `root`@`localhost` WITH GRANT OPTION
)

用户授权

格式:

GRANT ALL PRIVILEGES ON 数据库名.表名 TO '用户名'[@'主机名']

例子:

<?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 &#39;user1&#39;@&#39;%&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion
Copier après la connexion

撤销授权

REVOKE ALL PRIVILEGES ON 数据库名.表名 from '用户名'[@'主机名']

例子:

<?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 &#39;user1&#39;@&#39;%&#39;";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 关闭连接
mysqli_close($conn);

?>
Copier après la connexion
Copier après la connexion

刷新权限

格式:

FLUSH PRIVILEGES

注意事项

禁止 root 远程登录.

禁止 root 远程登录的原因:

  • root 是 MySQL 数据库的超级管理员. 几乎拥有所有权限, 一旦泄露后果非常严重

  • root 是 MySQL 数据库的默认用户. 如果不禁止远程登录, 则某些人可以针对 root 用户暴力破解密码

INSERT
UPDATE
DELETE
FILE
ALTER
INDEX
DROP
CREATE TABLES
SHOW VUE
CRÉER UNE ROUTINE
ALTER LA ROUTINE
EXECUTER
CRÉER UNE VUE
ÉVÉNEMENT
TRIGGER
GRANT
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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Statut actuel de PHP: un regard sur les tendances de développement Web Statut actuel de PHP: un regard sur les tendances de développement Web Apr 13, 2025 am 12:20 AM

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

PHP vs autres langues: une comparaison PHP vs autres langues: une comparaison Apr 13, 2025 am 12:19 AM

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

La pertinence durable de PHP: est-elle toujours vivante? La pertinence durable de PHP: est-elle toujours vivante? Apr 14, 2025 am 12:12 AM

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP: la fondation de nombreux sites Web PHP: la fondation de nombreux sites Web Apr 13, 2025 am 12:07 AM

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

PHP vs Python: fonctionnalités et fonctionnalités de base PHP vs Python: fonctionnalités et fonctionnalités de base Apr 13, 2025 am 12:16 AM

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

See all articles