mysql a une table utilisateur. La table utilisateur est une table d'autorisation dans MySQL, utilisée pour enregistrer les informations de compte autorisées à se connecter au serveur ; les champs de la table utilisateur peuvent être grossièrement divisés en quatre catégories, à savoir les colonnes utilisateur, les colonnes d'autorisation, les colonnes de sécurité et le contrôle des ressources. colonnes.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql5.7, ordinateur Dell G3.
mysql a une table utilisateur.
La table utilisateur est la table d'autorisation 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'autorisation, les colonnes de sécurité et les colonnes de contrôle des ressources. Ce qui suit présente principalement la signification de ces champs.
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.
La liste des utilisateurs pour MySQL version 5.7 est présentée dans le tableau 1.
Nom du champ | Type de champ | Est-il vide | Valeur par défaut | Description |
---|---|---|---|---|
Hôte | char(60) | NON | Aucun | Nom d'hôte |
Utilisateur | char(32) | NON | Aucun | Nom d'utilisateur |
authentication_string | text | OUI | Aucun | Mot de passe |
Lorsqu'un utilisateur se connecte, si ces trois champs correspondent en même temps, le système de base de données MySQL lui permettra de se connecter. Lors de la création d'un nouvel utilisateur, les valeurs de ces trois champs sont également définies. Lorsque vous modifiez le mot de passe d'un utilisateur, vous modifiez en fait la valeur du champ chaîne_authentification de la table utilisateur. Ces 3 champs déterminent donc si l'utilisateur peut se connecter.
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.
Nom du champ | Type de champ | S'il est vide | Valeur par défaut | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Select_priv | enum('N',' Y') | NON | N | Est-il possible d'interroger des données via la commande SELECT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Insert_priv | enum('N','Y') | NO | N | Est-il possible d'insérer des données via la commande INSERT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Update_priv | enum('N','Y') | NO | N | Les données existantes peuvent-elles être modifiées via la commande UPDATE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Delete_priv | enum('N', 'Y') | NON | N | Est-il possible de supprimer des données existantes via la commande DELETE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Create_priv | enum('N','Y') | NON | N | Est-ce possible pour créer de nouvelles bases de données et tables | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Drop_priv | enum('N','Y') | NON | N | Est-il possible de supprimer des bases de données et des tables existantes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reload_priv | enum(' N','Y') | NON | N | Est-il possible d'exécuter des commandes spécifiques pour vider et recharger les différents caches internes utilisés par MySQL, y compris les journaux, les autorisations, les hôtes, les requêtes et les tables | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Shutdown_priv | enum('N','Y') | NON | N | Est-il possible d'arrêter le serveur MySQL. Vous devez être très prudent lorsque vous fournissez cette autorisation à un utilisateur autre que le compte root | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Process_priv | enum('N','Y') | NO | N | Si elle peut être visualisée via SHOW Commande PROCESSLIST Le processus des autres utilisateurs leFile_priv | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non | n | peut-il exécuter les commandes Select into Outfile et Load Data Infile | Grant_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NON | N | Pouvez-vous accorder vos autorisations à d'autres utilisateurs ? Est-il possible de créer des contraintes de clé étrangère | Index_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NON | N | Est-il possible d'effectuer des vérifications d'ajout et de suppression sur l'index | Alter_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | La structure de la table peut-elle être renommé et modifié | Show_db_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Le serveur peut-il être visualisé Nom de toutes les bases de données sur | Super_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NON | N | est-il possible d'exécuter certaines fonctions administratives puissantes, telles que celles auxquelles l'utilisateur dispose de droits d'accès suffisants, telles que Utiliser la commande KILL pour supprimer le processus utilisateur ; Commande SET GLOBAL pour modifier les variables MySQL globales et exécuter diverses commandes concernant la réplication et la journalisation. (Super autorisations) | Create_tmp_table_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Des tables temporaires peuvent-elles être créées | Lock_tables_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NON | N | Est-il possible d'utiliser la commande LOCK TABLES pour empêcher l'accès/modification des tables | Execute_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Si la procédure stockée | Repl_slave_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | peut lire le fichier journal binaire utilisé pour maintenir un environnement de base de données répliqué | Repl_client_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NON | N | Est-il possible de déterminer l'emplacement du serveur esclave et du serveur maître de réplication | Create_view_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No | n | est-il possible de créer une vue | show_view_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No | n | est-il possible de voir une vue | Create_routine_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Les procédures et fonctions stockées peuvent-elles être modifiées ou supprimées | Alter_routine_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Le stockage peut-il être modifié ou supprimé Fonctions et fonctions | Create_user_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | S'il est possible d'exécuter la commande CREATE USER, qui est utilisé pour créer un nouveau compte MySQL | Event_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Les événements peuvent-ils être créés, modifiés et supprimés | Trigger_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Est-il possible de créer et de supprimer des déclencheurs | Create_tablespace_priv | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NO | N | Est-il possible de créer un tablespace |
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 le tableau des utilisateurs est présentée dans le tableau 3 :
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 valeur par défaut des champs ci-dessus est 0, ce qui signifie qu'il n'y a pas de 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. 【Recommandation associée : tutoriel vidéo mysql】 |
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!