Maison >Problème commun >Quelles sont les tables d'autorisations de la base de données MySQL ?
Les tables d'autorisations de base de données 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 l'opération des utilisateurs ; autorisations pour une certaine base de données ; 3. table tables_priv, utilisée pour définir les autorisations sur une seule table ; 4. table columns_priv, utilisée pour définir les autorisations sur une seule colonne de données ; 5. table procs_priv, utilisée pour définir les autorisations sur les procédures stockées et les fonctions stockées ; Définissez les paramètres d'autorisation.
Le système d'exploitation de ce tutoriel : système Windows 10, mysql version 8.0, 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.
1. Table 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 pour fermer des services, les super autorisations et charger des utilisateurs principalement ; 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.
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 le tableau des utilisateurs est comme indiqué dans le tableau suivant :
Nom du champ | Type de champ | S'il est vide | Valeur par défaut | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ssl_type | enum('','ANY' ,'X509', 'SPÉCIFIÉ') | NON | Supporte le champ de sécurité de cryptage standard SSL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ssl_cipher | blob | NON | Supporte le champ de sécurité de cryptage standard SSL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x509_issuer | blob | NON | Prise en charge des champs standard x509 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x509_subject | blob | NON | Prise en charge des champs standard x509 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
plugin | char(64) | NON | mysql_native_password | Présentation plugins Pour la vérification du mot de passe lorsque les utilisateurs se connectent, le plugin crée des utilisateurs externes/proxy | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
password_expired | enum('N','Y') | NO | N | Si le mot de passe a expiré (N n'a pas expiré , y a expiré) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
password_last_changed | timestamp | OUI | Enregistrez l'heure à laquelle le mot de passe a été modifié pour la dernière fois | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
password_lifetime | smallint(5) | OUI|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
enum('N','Y') | NO | N | Si l'utilisateur est verrouillé (Y verrouillé, N débloqué) |
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 des 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. Vous pouvez utiliser l'instruction GRANT pour mettre à jour les valeurs de ces champs.
2. table db
la table db 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 combinaison de ces 3 champs constitue la base de données. déposer la clé primaire.
La liste des utilisateurs de la table de base de données est affichée dans le tableau suivant :
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Colonne d'autorisations La colonne d'autorisation dans la table db est à peu près la même que la colonne d'autorisation dans la table utilisateur, sauf que les autorisations dans la table utilisateur concernent toutes les bases de données, tandis que les autorisations dans la table db ne concernent que 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. 3. table tables_priv La table tables_priv est utilisée pour définir les autorisations sur une seule table. tableau suivant :
|
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!