AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MySql Rechteproblem

Ein Thema von Nersgatt · begonnen am 5. Feb 2015 · letzter Beitrag vom 5. Feb 2015
Antwort Antwort
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

MySql Rechteproblem

  Alt 5. Feb 2015, 10:46
Datenbank: MySql • Version: 5.6 • Zugriff über: Workbench
Moin!

Ich habe ein Problem mit MySql, bei dem ich nicht weiter komme.

Ausgangslage:
Ich habe ein Tabelle, die einen AFTER_INSERT-Trigger hat. In diesem Trigger wird eine PROCEDURE aufgerufen, die einen Logeintrag in eine andere Tabelle macht.
Also ist der Ablauf so: insert into tabelle -> AFTER_INSERT-Trigger -> procedure -> insert into logtabelle
Das funktioniert auch wie gewünscht problemlos.

Nun habe ich eine weitere FUNCTION, die einen Eintrag in der tabelle macht. Hier bekomme ich jedoch folgende Fehlermeldung:
Error Code: 1146. Table 'datenbank.logtabelle' doesn't exist 0.000 sec

Ich vermute, hier sind Rechte das Problem.
Die Function ist angelegt mit dem DEFINER root:
Code:
CREATE DEFINER=`root`@`localhost` FUNCTION...
Und Root ist nicht irgendwie in den Rechten beschränkt. Er hat überall Vollzugriff. Daher kann ich mir das Verhalten so gar nicht erklären.
Was mich so wundert ist, dass ein direkter INSERT in die tabelle (was wiederum den Trigger auslöst) in einem SQL-Fenster der Workbench funktioniert. Wenn ich aber in dem selben Sql-Fenster die Function aufrufe, dann bekommen oben genannten Fehler.

Wer kann mir helfen?
Jens
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: MySql Rechteproblem

  Alt 5. Feb 2015, 10:59
wie ist das denn bei mysql mit schema Notation?
Ich hab nur im Kopf, dass es dort etwas "mager" ist. Gibt es trotzdem Schemata?
Dann müsste vielleicht die gezielte Ansprache mit meinappowneruser.Funktionsnamen klappen? Halt jenachdem, wo bzw. von wem sie angelegt wurde.

Wenn DEFINER=`root`@`localhost` etwas ist, um owner oder definer context für den Objekt Zugriff festzulegen, dann wäre die Frage, ob das wirklich sein muss oder bereits eine Krücke um Dein Problem zu lösen. Ansonsten einfach noch mal ein Grant an root oder root@localhost auf die Tabelle oder per Dictionary prüfen, ob root da formal dran darf.
Gruß, Jo
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#3

AW: MySql Rechteproblem

  Alt 5. Feb 2015, 13:46
Ich vermute, hier sind Rechte das Problem.
Die Function ist angelegt mit dem DEFINER root:
Code:
CREATE DEFINER=`root`@`localhost` FUNCTION...
Probiere einmal den DEFINER nicht als 'localhost' zu setzen, sondern allgemein:

Code:
CREATE DEFINER=`root`@`%` FUNCTION
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz