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

藏色散人
Libérer: 2023-03-13 13:48:01
original
2598 Les gens l'ont consulté

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 用户
Copier après la connexion

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@’%’
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

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.%’;
Copier après la connexion

3. Accordez des autorisations DBA ordinaires pour gérer une certaine 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.

4. Grant senior DBA dispose des autorisations pour gérer toutes les bases de données dans MySQL

grant all on *.* to dba@’localhost’
Copier après la connexion

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 中的所有数据库
Copier après la connexion

2. base de données unique :

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

3. Grant travaille sur une seule table de données :

grant select, insert, update, delete on testdb.orders to dba@localhost;
Copier après la connexion

4 Grant travaille 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 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’
Copier après la connexion

6, Afficher l'utilisateur MySQL. autorisations

Afficher les autorisations de l'utilisateur actuel (propres):

show grants;
Copier après la connexion

Afficher les autres autorisations de l'utilisateur MySQL:

show grants for dba@localhost;
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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!

É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