La solution aux autorisations insuffisantes pour Linux PHP pour se connecter à MySQL : 1. Accordez des autorisations de requête, d'insertion et autres aux utilisateurs de données ordinaires à l'aide de la commande Grant ; 2. Accordez des autorisations pour créer des tables et des index aux développeurs de bases de données via Grant.
L'environnement d'exploitation de cet article : système linux5.9.8, PHP version 7.1, ordinateur DELL G3
Que dois-je faire si Linux php n'a pas l'autorisation suffisante pour se connecter à MySQL ?
Linux PHP a des autorisations insuffisantes pour se connecter à MySQL. Division fine des autorisations MySQL :
MySQL peut vous accorder une ou plusieurs autorisations telles que sélectionner, insérer, mettre à jour, supprimer, etc. à un utilisateur. commande, utilisation Le format est :
grant 权限 on 数据库对象 to 用户
1. Accordez aux utilisateurs de données ordinaires le droit d'interroger, d'insérer, de mettre à jour et de supprimer toutes les données des 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@’%’
2. Accordez aux développeurs de bases de données, créez des tables, des index, des vues, des procédures stockées, des fonctions. . . En attente des autorisations
grant 创建、修改、删除 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 操作 mysql 外键权限。 grant references on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 临时表权限。 grant create temporary tables on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 索引权限。 grant index on testdb.* to developer@’192.168.0.%’; grant 操作 mysql 视图、查看视图源代码 权限。 grant create view on testdb.* to developer@’192.168.0.%’; grant show view on testdb.* to developer@’192.168.0.%’; grant 操作 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.%’;
3. Accordez des autorisations DBA ordinaires pour gérer une certaine base de données MySQL
grant all privileges on testdb to dba@’localhost’
Parmi eux, le mot-clé "privilèges" peut être omis.
4. Grant senior DBA dispose des autorisations pour gérer toutes les bases de données dans MySQL
grant all on *.* to dba@’localhost’
5 Les autorisations d'octroi Mysql peuvent être appliquées à plusieurs niveaux
1 Grant agit sur l'ensemble du serveur MySQL :
grant select on *.* to dba@localhost; - dba 可以查询 mysql 中所有数据库中的表。 grant all on *.* to dba@localhost; - dba 可以管理 mysql 中的所有数据库
2. base de données unique :
grant select on testdb.* to dba@localhost; - dba 可以查询 testdb 中的表。
3. Grant travaille sur une seule table de données :
grant select, insert, update, delete on testdb.orders to dba@localhost;
4 Grant travaille sur les colonnes de la table :
grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5. Grant travaille sur les procédures stockées et les fonctions :
grant execute on procedure testdb.pr_add to ’dba’@’localhost’ grant execute on function testdb.fn_add to ’dba’@’localhost’
6, Afficher l'utilisateur MySQL. autorisations
Afficher les autorisations de l'utilisateur actuel (propres):
show grants;
Afficher les autres autorisations de l'utilisateur MySQL:
show grants for dba@localhost;
7. Révoquer les autorisations qui ont été accordées aux autorisations de l'utilisateur MySQL
revoke a une syntaxe similaire à accorder, il suffit de remplacer le mot-clé "to" avec "from":
grant all on *.* to dba@localhost; revoke all on *.* from dba@localhost;
8. Notes sur l'octroi et la révocation des autorisations utilisateur par MySQL
1 Après avoir accordé, révoqué les autorisations utilisateur, l'utilisateur doit se reconnecter à la base de données MySQL pour que les autorisations prennent effet.
2. Si vous souhaitez que des utilisateurs autorisés accordent ces autorisations à d'autres utilisateurs, vous avez besoin de l'option "accorder l'option"
grant select on testdb.* to dba@localhost with grant option;
Cette fonctionnalité n'est généralement pas utilisée. En pratique, il est préférable que les autorisations de base de données soient gérées de manière uniforme par l'administrateur de base de données.
Remarque : Après avoir modifié les autorisations, vous devez actualiser le service ou redémarrer le service
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!