Maison > Article > développement back-end > Gestion des utilisateurs, autorisations et paramètres - mysql
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
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!