Heim Datenbank MySQL-Tutorial Benutzer- und Benutzerberechtigungskonfiguration unter MySQL-Datenbank_MySQL

Benutzer- und Benutzerberechtigungskonfiguration unter MySQL-Datenbank_MySQL

Sep 09, 2016 am 08:13 AM

Problem: Bei der Verwendung eines von einem bestimmten Autor geschriebenen Remote-Tools zur Verwaltung der MySQL-Datenbank habe ich festgestellt, dass alle Daten normal angezeigt werden können, Vorgänge wie Löschen und Ändern jedoch nicht ausgeführt werden können.

Idee: Die Informationen in der Datenbank können aus der Ferne gelesen werden, was darauf hinweist, dass der aktuelle Host eine Fernverbindung zur Datenbank herstellen kann. Diese Vorgänge wie Löschen und Ändern können jedoch nicht ausgeführt werden, was darauf hinweist, dass dem aktuellen Remote-Benutzer einige Berechtigungen nicht gewährt werden.

 Lösung:

Aktuelle Benutzerberechtigungen anzeigen

show grants for username
Nach dem Login kopieren

Zeigt die Berechtigungen unter dem aktuellen Benutzer an: Auswählen, Einfügen, Aktualisieren, Löschen

GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*BB318072E265C419B3E1E19A4DAD1FA969B9B4D4' //只可以在本地登陆的 不能操作的用户
GRANT SELECT, INSERT, UPDATE, DELETE ON `dbName`.* TO 'usename'@'host' //此用户拥有select/insert/update/delelte权限
Nach dem Login kopieren

Es scheint, dass es die Berechtigung zum Löschen und Ändern haben sollte, aber es kann nicht mit dem Remote-Tool bedient werden.

Nach sorgfältiger Untersuchung habe ich festgestellt, dass der Betrieb der von diesem Tool geschriebenen Datenbank grundsätzlich keine relevanten Berechtigungen für gespeicherte Prozeduren und gespeicherte Funktionen gewährt

Fügen Sie daher dem Benutzer Berechtigungen für gespeicherte Prozeduren und gespeicherte Funktionen hinzu

GRANT DELETE, INDEX, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `dbName`.* TO 'username'@'host'
Nach dem Login kopieren

Benutzerberechtigungen anzeigen sind

GRANT USAGE ON *.* TO 'username'@'host' IDENTIFIED BY PASSWORD '*938D2D224D12DAD427AB953B931EA6DF0CF0656A'
GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, EXECUTE, CREATE ROUTINE, ALTER ROUTINE ON `dbName`.* TO 'username'@'host'
Nach dem Login kopieren

Verwenden Sie das Remote-Tool erneut und verwenden Sie es korrekt

--------------------------------- -------------------------------------------------- -- ----

 Anhang: Benutzerdefinierte Datenbankfunktion importieren

mysqldump -uroot -ntd -R dbName > dbName.sql
Nach dem Login kopieren

Beim Import

wurde eine Fehlermeldung gefunden

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
Nach dem Login kopieren

Fehlermeldung 1481: Beim Importieren einer benutzerdefinierten Funktion entspricht dies dem Erstellen einer benutzerdefinierten Funktion in der Datenbank. Da jedoch ein Sicherheitsparameter nicht aktiviert ist, ist log_bin_trust_function_creators standardmäßig auf 0 (d. h. AUS) eingestellt,

erlaubt keine Synchronisierung von Funktionen (d. h. die Erstellung von Funktionen ist nicht zulässig). Wenn Sie diesen Parameter aktivieren, können Sie ihn erfolgreich erstellen.

Sehen Sie sich den log_bin_trust_function_creators-Wert an

> show variables like "%func%"
--------------------------------------
|Variable_name |Value|
--------------------------------|-----
|log_bin_trust_function_creators| OFF |
--------------------------------------
Nach dem Login kopieren

Wenn der Wert AUS ist, bedeutet dies, dass die Erstellung von Funktionen nicht zulässig ist. Ändern Sie diesen Wert und Sie können

> set global log_bin_trust_function_creators=1;
>show variables like "%func%"
--------------------------------------
|Variable_name |Value|
--------------------------------|-----
|log_bin_trust_function_creators| ON |
Nach dem Login kopieren

Hinweis: Denken Sie daran, den Wert nach Abschluss des Imports wieder auf 0 (d. h. AUS) zu setzen. Die spezifischen Gründe werden nicht näher erläutert.

Das Obige ist die vom Herausgeber eingeführte Benutzer- und Benutzerberechtigungskonfiguration. Ich hoffe, dass sie Ihnen hilfreich sein wird. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten !

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker Reduzieren Sie die Verwendung des MySQL -Speichers im Docker Mar 04, 2025 pm 03:52 PM

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung? Mar 19, 2025 pm 03:51 PM

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung?

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen Mar 04, 2025 pm 04:01 PM

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen

Was ist SQLite? Umfassende Übersicht Was ist SQLite? Umfassende Übersicht Mar 04, 2025 pm 03:55 PM

Was ist SQLite? Umfassende Übersicht

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin) Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin) Mar 04, 2025 pm 03:54 PM

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin)

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung Mar 04, 2025 pm 03:49 PM

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)?

Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)? Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)? Mar 18, 2025 pm 12:00 PM

Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)?

See all articles