Maison  >  Article  >  développement back-end  >  Gestion des utilisateurs, autorisations et paramètres - mysql

Gestion des utilisateurs, autorisations et paramètres - mysql

小云云
小云云original
2017-11-16 13:27:082285parcourir

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;

Afficher

mysql>select host,user,password from user ;

Créer

mysql>create user zx_root;

Modifier

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

Supprimer

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

Changer le mot de passe

mysql>set password for zx_root =password('xxxxxx');
mysql>update  mysql.user  set  password=password('xxxx')  where user='otheruser'


Afficher les autorisations des utilisateurs

mysql>show grants for zx_root;

Accorder des autorisations

mysql>grant select on dmc_db.*  to zx_root;

Recycler les autorisations

mysql>revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

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;

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

flush  privileges ;

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@'%'
Ou utilisez plutôt une commande MySQL :

grant select, insert, update, delete on testdb.* to common_user@'%'
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.%';
grant exploite les autorisations de clé étrangère MySQL.

grant references on testdb.* to developer@'192.168.0.%';
accorder l'autorisation d'utiliser les tables temporaires MySQL.

grant create temporary tables on testdb.* to developer@'192.168.0.%';
accorder l'autorisation d'utiliser les index MySQL.

grant index on testdb.* to developer@'192.168.0.%';
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.%';
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.%';
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'
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'
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 中的所有数据库
2. Grant fonctionne sur une seule base de données :

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

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

grant select(id, se, rank) on testdb.apache_log to dba@localhost;
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'
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!

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