Heim > Backend-Entwicklung > PHP-Problem > Was tun, wenn Linux PHP nicht über ausreichende Berechtigungen zum Herstellen einer Verbindung zu MySQL verfügt?

Was tun, wenn Linux PHP nicht über ausreichende Berechtigungen zum Herstellen einer Verbindung zu MySQL verfügt?

藏色散人
Freigeben: 2023-03-13 13:48:01
Original
2619 Leute haben es durchsucht

Lösungen für die unzureichenden Berechtigungen für Linux PHP zum Herstellen einer Verbindung zu MySQL: 1. Gewähren Sie Abfrage-, Einfüge- und andere Berechtigungen für normale Datenbenutzer, indem Sie den Befehl grant verwenden. 2. Erteilen Sie Datenbankentwicklern Berechtigungen zum Erstellen von Tabellen und Indizes durch grant.

Was tun, wenn Linux PHP nicht über ausreichende Berechtigungen zum Herstellen einer Verbindung zu MySQL verfügt?

Die Betriebsumgebung dieses Artikels: Linux5.9.8-System, PHP-Version 7.1, DELL G3-Computer

Was soll ich tun, wenn Linux PHP nicht über ausreichende Berechtigungen zum Herstellen einer Verbindung mit MySQL verfügt?

Linux PHP verfügt nicht über ausreichende Berechtigungen, um eine Verbindung zu MySQL herzustellen. MySQL-Feinberechtigungsaufteilung:

MySQL kann einem Benutzer eine oder mehrere Berechtigungen wie Auswählen, Einfügen, Aktualisieren usw. gewähren Befehl, Verwendung Das Format ist:

grant 权限 on 数据库对象 to 用户
Nach dem Login kopieren

1. Gewähren Sie normalen Datenbenutzern das Recht, alle Tabellendaten in der Datenbank abzufragen, einzufügen, zu aktualisieren und zu löschen

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@’%’
Nach dem Login kopieren

Oder verwenden Sie stattdessen einen MySQL-Befehl:

grant select, insert, update, delete on testdb.* to common_user@’%’
Nach dem Login kopieren

2. Gewähren Sie Datenbankentwicklern die Möglichkeit, Tabellen, Indizes, Ansichten, gespeicherte Prozeduren und Funktionen zu erstellen. . . usw. Berechtigungen

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.%’;
Nach dem Login kopieren

3. Gewähren Sie normale DBA-Berechtigungen zum Verwalten einer bestimmten MySQL-Datenbank

grant all privileges on testdb to dba@’localhost’
Nach dem Login kopieren

Dabei kann das Schlüsselwort „Privilegien“ weggelassen werden.

4. Gewähren Sie Senior DBA Berechtigungen zum Verwalten aller Datenbanken in MySQL Einzelne Datenbank:

grant all on *.* to dba@’localhost’
Nach dem Login kopieren

3. Grant arbeitet an einer einzelnen Datentabelle:

grant select on *.* to dba@localhost; - dba 可以查询 mysql 中所有数据库中的表。
grant all on *.* to dba@localhost; - dba 可以管理 mysql 中的所有数据库
Nach dem Login kopieren

5. Grant arbeitet an gespeicherten Prozeduren und Funktionen:

grant select on testdb.* to dba@localhost; - dba 可以查询 testdb 中的表。
Nach dem Login kopieren

6, MySQL-Benutzer anzeigen Berechtigungen

Aktuelle (eigene) Benutzerberechtigungen anzeigen:

grant select, insert, update, delete on testdb.orders to dba@localhost;
Nach dem Login kopieren

Andere MySQL-Benutzerberechtigungen anzeigen:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;
Nach dem Login kopieren

7. Berechtigungen widerrufen, die MySQL-Benutzerberechtigungen gewährt wurden

revoke hat eine ähnliche Syntax zum Gewähren, Sie müssen nur die ersetzen Schlüsselwort „to“ mit „from“:

grant execute on procedure testdb.pr_add to ’dba’@’localhost’
grant execute on function testdb.fn_add to ’dba’@’localhost’
Nach dem Login kopieren

8. Hinweise zum Gewähren und Widerrufen von Benutzerberechtigungen durch MySQL

1. Nach dem Gewähren und Widerrufen von Benutzerberechtigungen muss sich der Benutzer erneut mit der MySQL-Datenbank verbinden, damit die Berechtigungen wirksam werden.

2. Wenn Sie möchten, dass autorisierte Benutzer diese Berechtigungen anderen Benutzern erteilen, benötigen Sie die Option „Option gewähren“

show grants;
Nach dem Login kopieren

Diese Funktion wird im Allgemeinen nicht verwendet. In der Praxis werden Datenbankberechtigungen am besten einheitlich vom DBA verwaltet.

Hinweis: Nach dem Ändern der Berechtigungen müssen Sie den Dienst aktualisieren oder neu starten

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn Linux PHP nicht über ausreichende Berechtigungen zum Herstellen einer Verbindung zu MySQL verfügt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage