Maison  >  Article  >  base de données  >  Quelles sont les tables d’autorisations de MySQL ?

Quelles sont les tables d’autorisations de MySQL ?

青灯夜游
青灯夜游original
2022-06-27 18:03:159007parcourir

Les tables d'autorisations de MySQL comprennent : 1. La table utilisateur, utilisée pour enregistrer les informations de compte autorisées à se connecter au serveur. Toutes les autorisations activées dans cette table sont globales et applicables à toutes les bases de données. 2. la table db, qui stocke les autorisations d'opération des utilisateurs ; pour une certaine base de données ; 3. la table tables_priv, utilisée pour définir les autorisations sur une seule table ; 4. la table columns_priv, utilisée pour définir les autorisations sur une seule colonne de données ; 5. la table procs_priv, utilisée pour définir les autorisations sur les procédures stockées et les fonctions stockées ; paramètres d'autorisation.

Quelles sont les tables d’autorisations de MySQL ?

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Dans la base de données MySQL, les tables d'autorisation incluent la table user, la table db, la table tables_priv, la table columns_priv et la table procs_priv.

Tableau des autorisations utilisateur

La table des utilisateurs est la table des autorisations la plus importante dans MySQL, utilisée pour enregistrer les informations de compte autorisées à se connecter au serveur. Il convient de noter que toutes les autorisations activées dans la table user sont globales et s'appliquent à toutes les bases de données.

Les champs de la table utilisateur peuvent être grossièrement divisés en 4 catégories, à savoir les colonnes utilisateur, les colonnes d'autorisations, les colonnes de sécurité et les colonnes de contrôle des ressources.

Colonne Utilisateur

La colonne utilisateur stocke les informations que les utilisateurs doivent saisir lors de la connexion à la base de données MySQL. Il convient de noter que la version MySQL 5.7 n'utilise plus le mot de passe comme champ de mot de passe, mais l'a remplacé par Authentication_string.

Colonne Permission

Les champs de la colonne permission déterminent les autorisations de l'utilisateur et sont utilisés pour décrire les opérations autorisées sur les données et les bases de données dans la portée globale.

Les autorisations sont grossièrement divisées en deux catégories, à savoir les autorisations de gestion avancées et les autorisations ordinaires :

  • Les autorisations de gestion avancées gèrent principalement la base de données, telles que les autorisations de fermeture de services, les super autorisations et le chargement des utilisateurs ; faire fonctionner la base de données, comme les autorisations de requête, les autorisations de modification, etc.

  • Les colonnes d'autorisation de la table utilisateur incluent Select_priv, Insert_priv et d'autres champs se terminant par priv. Le type de données de ces valeurs de champ est ENUM. Les seules valeurs possibles sont Y et N : Y signifie que le. l'utilisateur dispose des autorisations correspondantes, et N signifie que l'utilisateur dispose des autorisations correspondantes. L'utilisateur n'a pas les autorisations correspondantes. Pour des raisons de sécurité, la valeur par défaut de ces champs est N.

  • Si vous souhaitez modifier les autorisations, vous pouvez utiliser l'instruction GRANT pour accorder certaines autorisations à l'utilisateur, ou vous pouvez définir des autorisations en mettant à jour la table utilisateur avec l'instruction UPDATE.

Colonne de sécurité

La colonne de sécurité est principalement utilisée pour déterminer si l'utilisateur peut se connecter avec succès. La colonne de sécurité dans la table utilisateur est comme indiqué dans le tableau suivant :

Colonne de sécurité de la table utilisateur

. Type de champenum('','ANY','X509','SPECIFIED')blobblobblobchar(64) enum('N','Y')timestamp smallint(5) unsignedénum('N ','Y')
Nom du champ
Est-il vide Valeur par défaut Description ssl_type
NO Prend en charge le champ de sécurité de cryptage standard SSL ssl_cipher
NO Prend en charge le champ de sécurité de cryptage standard SSL x509_issuer
NO Support x5 09 champs standards x509_subject
NO Prend en charge les champs standard x509 plugin
NO mysql_native_password Introduction de plugins pour la vérification du mot de passe lorsque les utilisateurs se connectent, le plugin crée un externe/proxy users password_expired
NO N Si le mot de passe a expiré (N n'a pas expiré, y a expiré) password_last_changed
OUI Enregistrer le mot de passe le plus récemment modifié Heure password_lifetime
OUI Définir la durée de validité du mot de passe en jours account_locked
NON N Si l'utilisateur est verrouillé (Y verrouillé, N déverrouillé)

Remarque : Même si password_expired vaut "Y", l'utilisateur peut toujours utiliser le mot de passe pour se connecter à MySQL, mais aucune opération n'est autorisée.

Habituellement, les distributions standard ne prennent pas en charge SSL. Les lecteurs peuvent utiliser l'instruction SHOW VARIABLES LIKE "have_openssl" pour vérifier si elle dispose de la fonctionnalité SSL. Si la valeur de have_openssl est DISABLED, la fonctionnalité de chiffrement SSL n'est pas prise en charge.

Colonne de contrôle des ressources

Les champs de la colonne de contrôle des ressources sont utilisés pour limiter les ressources utilisées par les utilisateurs. Les colonnes de contrôle des ressources de la table des utilisateurs sont présentées dans le tableau 4.

La colonne de contrôle des ressources de la table utilisateur
nom du champ type de champ s'il est vide valeur par défaut description
max_questions int(11) non signé NON 0 Spécifie le nombre d'opérations autorisées pour effectuer des requêtes par heure
max_updates int(11) unsigned NO 0 Spécifie le nombre d'opérations autorisées pour effectuer des mises à jour par heure
max_connections int(11) unsigned NO 0 Spécifie le nombre d'opérations de connexion autorisées à être effectuées par heure
max_user_connections int(11) unsigned NO 0 Spécifie le nombre de connexions pouvant être établies simultanément

La valeur par défaut pour les champs ci-dessus est 0, ce qui indique qu'il n'y a aucune limite. Si le nombre de requêtes ou de connexions utilisateur dépasse la limite de contrôle des ressources dans une heure, l'utilisateur sera verrouillé et ne pourra pas effectuer les opérations correspondantes ici avant l'heure suivante. Les valeurs de ces champs peuvent être mises à jour à l'aide de l'instruction GRANT.

db table

db table est couramment utilisée et est une table d'autorisations très importante dans la base de données MySQL. La table stocke les autorisations de fonctionnement de l'utilisateur pour une certaine base de données. Les champs du tableau peuvent être grossièrement divisés en deux catégories, à savoir les colonnes utilisateur et les colonnes d'autorisation.

Colonne utilisateur

La colonne utilisateur de la table db comporte 3 champs, à savoir Hôte, Utilisateur et Db, qui identifient l'autorisation d'opération d'un utilisateur pour se connecter à une certaine base de données à partir d'un certain hôte. La clé primaire de la table db.

La liste des utilisateurs de la table de base de données est affichée dans le tableau suivant :

Les colonnes d'autorisations de la table db sont à peu près les mêmes que les colonnes d'autorisations de la table utilisateur, sauf que les autorisations de la table utilisateur concernent toutes les bases de données, tandis que les autorisations dans la table db concerne uniquement la base de données spécifiée. Si vous souhaitez que l'utilisateur dispose d'autorisations d'opération uniquement pour une certaine base de données, vous pouvez d'abord définir les autorisations correspondantes dans la table utilisateur sur N, puis définir les autorisations d'opération pour la base de données correspondante dans la table db. tables_priv table et columns_priv tabletables_priv table est utilisée pour définir les autorisations sur une seule table, et la table columns_priv est utilisée pour définir les autorisations sur une seule colonne de données. La structure de la table tables_priv est présentée dans le tableau suivant : Est-il vide ?
Nom du champ Type de champ S'il est vide Valeur par défaut Description
Hôte char(60 ( 32) NON Aucun Nom d'utilisateur
Colonnes d'autorisations
Nom du champ Type de champ
Valeur par défaut

Description

Hôte

char(60) NON

Aucun

HôteCreate','Drop',' Grant','References',Indique les autorisations d'opération sur la table, y compris Sélectionner, Insérer , Mettre à jour, Supprimer, Créer, Supprimer, Accorder, Références, Indexer et Modifier, etc.
Db char(64) NON Aucun Nom de la base de données
Utilisateur char(32) NON Aucun Nom d'utilisateur
Table_name char(64) NO Aucun Table name
Concédant char(93) NO Aucun L'utilisateur qui a modifié l'enregistrement
Horodatage horodatage NO CURRENT_TIMESTAMP L'heure à laquelle cet enregistrement a été modifié
Table_priv set('Select','Insert','Update','Delete',''Index','Alter','Create View','Show view','Trigger') NO Aucun
représente la colonne du tableau Autorisations d'opération, notamment Sélection, Insertion, Mise à jour et Références La structure de la table

columns_priv est présentée dans le tableau suivant :

Nom du champ Type de champ S'il est vide Valeur par défaut Description
Hôte char(60 ) NON Aucun Hôte
Db char(64) NO Aucun Nom de la base de données
Utilisateur char(32) NON Aucun Nom d'utilisateur
Table_name char(64) NO None Table name
Column_name char(64) NO None Data column name, utilisé pour spécifier quelles colonnes de données avoir l'autorisation d'exploitation
Timestamp timestamp NO CURRENT_TIMESTAMP L'heure à laquelle cet enregistrement a été modifié
Column_priv set('Select','Insert','Update','References ') NO Aucun Indique les autorisations d'opération sur les colonnes de la table, y compris Select, Insert, Update et References

table procs_priv

La table procs_priv peut définir des autorisations sur les procédures stockées et les fonctions stockées .La structure du tableau de procs_priv Comme indiqué dans le tableau :

GrantorarChar (93) Non Non insertion ou modification de l'utilisateur enregistré Proc_privset ('Execute', 'Alter Routine', 'GRANT') NON Aucun indique les autorisations dont vous disposez, notamment les types Exécuter, Modifier la routine et Accorder 3TimestamptimestampNOCURRENT_TIMESTAMP indique l'heure de mise à jour de l'enregistrement[Rel recommandations recommandées : mysql tutoriel vidéo
Nom du champ Type de champ S'il est vide Valeur par défaut Description
Hôte char(60) NON Aucun Nom d'hôte
Db char(64) NO Aucun Nom de la base de données
Utilisateur char(32) NON Aucun Nom d'utilisateur
Routine_name char( 64) NO Aucun indique le nom de la procédure stockée ou de la fonction
Routine_type enum('FUNCTION','PROCEDURE') NO Aucun indique le type de la procédure stockée ou de la fonction. Le champ Routine_type a deux valeurs, FUNCTION et PROCEDURE. FUNCTION signifie qu'il s'agit d'une fonction ; PROCEDURE signifie qu'il s'agit d'une procédure stockée.

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:
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