Gestion des utilisateurs, autorisations et paramètres - mysql

小云云
Libérer: 2017-11-16 13:27:08
original
2276 Les gens l'ont consulté

MySQL est l'un des systèmes de gestion de bases de données les plus populaires au monde. Le livre commence par une introduction à la récupération de données simple et aborde progressivement un contenu plus complexe, comprenant l'utilisation de jointures, de sous-requêtes, d'expressions régulières et de recherches basées sur le texte intégral, de procédures stockées, de curseurs, de déclencheurs, de contraintes de table, etc. A travers des chapitres mis en évidence, les connaissances que les lecteurs doivent maîtriser sont décrites de manière claire, systématique et concise, afin qu'ils puissent augmenter leurs compétences immédiatement et par inadvertance. Cette section décrit principalement les commandes associées à la gestion des utilisateurs MySQL et aux paramètres d'autorisation.

Gestion des utilisateurs

mysql>use mysql;
Copier après la connexion

Afficher

mysql>select host,user,password from user ;
Copier après la connexion

Créer

mysql>create user zx_root;
Copier après la connexion

Modifier

mysql>rename user feng to newuser; //mysql 5之后可以使用,之前需要使用update 更新user表
Copier après la connexion

Supprimer

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限
Copier après la connexion

Changer le mot de passe

mysql>set password for zx_root =password('xxxxxx');
mysql>update  mysql.user  set  password=password('xxxx')  where user='otheruser'
Copier après la connexion


Afficher les autorisations des utilisateurs

mysql>show grants for zx_root;
Copier après la connexion

Accorder des autorisations

mysql>grant select on dmc_db.*  to zx_root;
Copier après la connexion

Recycler les autorisations

mysql>revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错
Copier après la connexion

La commande ci-dessus peut également être utilisée pour accorder et révoquer plusieurs autorisations en même temps. Utilisez des virgules pour séparer les autorisations

mysql>grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;
Copier après la connexion

Si vous souhaitez voir les résultats. immédiatement, utilisez

flush  privileges ;
Copier après la connexion

Mise à jour de la commande

Les informations suivantes doivent être fournies lors de la définition des autorisations

1, les autorisations à accorder

2, la base de données ou la table à laquelle les autorisations d'accès sont accordées

3. Nom d'utilisateur

accorder et révoquer peut contrôler les autorisations d'accès à plusieurs niveaux

1 L'ensemble du serveur, en utilisant Grant ALL. et révoquer TOUS

2 Pour toute la base de données, utilisez sur base de données.*

3 Pour les tables de fonctionnalités, utilisez sur base de données.table

Pour des colonnes spécifiques

. 🎜>
5. Pour les procédures stockées spécifiques

La signification de la valeur de la colonne host dans la table utilisateur

% Correspond à tous les hôtes

localhost localhost ne le sera pas être analysé en une adresse IP et est connecté directement via le socket UNIX

127.0.0.1 sera connecté via le protocole TCP/IP et n'est accessible que localement

::1 Grant est une donnée ordinaire utilisateur ayant le droit d’interroger, d’insérer, de mettre à jour et de supprimer des données dans toutes les tables de la base de données.

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'
Copier après la connexion
Ou utilisez plutôt une commande MySQL :

grant select, insert, update, delete on testdb.* to common_user@'%'
Copier après la connexion
9>.grant Développeur de base de données, créez des tables, des index, des vues, des procédures stockées, des fonctions. . . et d'autres autorisations.

accorder l'autorisation de créer, modifier et supprimer les structures de tables de données MySQL.

grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';
Copier après la connexion
grant exploite les autorisations de clé étrangère MySQL.

grant references on testdb.* to developer@'192.168.0.%';
Copier après la connexion
accorder l'autorisation d'utiliser les tables temporaires MySQL.

grant create temporary tables on testdb.* to developer@'192.168.0.%';
Copier après la connexion
accorder l'autorisation d'utiliser les index MySQL.

grant index on testdb.* to developer@'192.168.0.%';
Copier après la connexion
accorder l'autorisation d'utiliser les vues MySQL et d'afficher le code source.

grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';
Copier après la connexion
accorder l'autorisation d'utiliser les procédures et fonctions stockées MySQL.

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';
Copier après la connexion
10>.grant Un administrateur de base de données ordinaire a le pouvoir de gérer une base de données MySQL.

grant all privileges on testdb to dba@'localhost'
Copier après la connexion
Parmi eux, le mot clé « privilèges » peut être omis.

11>.grant Senior DBA est autorisé à gérer toutes les bases de données dans MySQL.

grant all on *.* to dba@'localhost'
Copier après la connexion
12>.Les autorisations d'octroi MySQL peuvent être appliquées à plusieurs niveaux.

1. Grant fonctionne sur l'ensemble du serveur MySQL :

grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
Copier après la connexion
2. Grant fonctionne sur une seule base de données :

grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
Copier après la connexion
3. data Sur la table :

grant select, insert, update, delete on testdb.orders to dba@localhost;
Copier après la connexion
4. Grant agit sur les colonnes de la table :

grant select(id, se, rank) on testdb.apache_log to dba@localhost;
Copier après la connexion
5. Grant agit sur les procédures et fonctions stockées :

grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function testdb.fn_add to 'dba'@'localhost'
Copier après la connexion
Remarque : Après avoir modifié les autorisations, vous devez actualiser le service ou redémarrer le service. Pour actualiser le service, utilisez : FLUSH PRIVILEGES.

Recommandations associées :

Connaissance connexe du temps de requête MySQL

La relation entre PHP et MySQL

La relation entre php, apache et 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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!