Maison  >  Article  >  développement back-end  >  Que faire si Linux PHP n'a pas l'autorisation suffisante pour se connecter à MySQL

Que faire si Linux PHP n'a pas l'autorisation suffisante pour se connecter à MySQL

藏色散人
藏色散人original
2021-10-26 10:01:192425parcourir

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.

Que faire si Linux PHP n'a pas l'autorisation suffisante pour se connecter à MySQL

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!

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