kann keine Katgorien anlegen

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Halchteranerin hat geschrieben: Ich habe gegoogelt, aber leider nirgendwo eine konkrete Aussage darueber gefunden, ob das stimmt.
Ja, die stimmt. In MySQL 3.x hat man automatisch das Recht "LOCK TABLE" erhalten, wenn man "SELECT, INSERT, UPDATE und DELETE"-Rechte hatte. Deswegen hatten auch viele Leute Probleme damit, als die Provider auf MySQL 4.x migriert haben.

Daß LOCK TABLES eine Sicherheitslücke sein soll, kann ich bis heute nicht bestätigen. Die einzigen Gründe, warum LOCK TABLES nicht von einigen Providern vergeben wird, sind: Unwissenheit, daß LOCK TABLES auch pro Datenbank und pro Benutzer vergeben werden kann oder einfach "Faulheit".
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

nun ja genau das glaube ich nämlich nicht
-> http://dev.mysql.com/doc/mysql/de/LOCK_TABLES.html
da steht davon nichts drinnen
in der englischen version findet sich ein kleiner hinweis darauf
-> http://dev.mysql.com/doc/mysql/en/LOCK_TABLES.html
den ich aber schlichtweg für falsch halte.

im changelog

-> http://dev.mysql.com/doc/mysql/en/News-4.0.0.html
-> http://dev.mysql.com/doc/mysql/en/News-4.0.1.html
findet sich ein hinweis darauf das lock table bereits eingeführt wurde (bei select ersichtlich)

in
-> http://dev.mysql.com/doc/mysql/en/News-4.0.2.html
wurde nur ein patch für lock ergänzt.

das heisst für mich das recht lock table gibt es seit einführung der version 4.0.0alpha
*** make your own tools (wishlist :: thx)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

timo hat geschrieben: Daß LOCK TABLES eine Sicherheitslücke sein soll, kann ich bis heute nicht bestätigen. Die einzigen Gründe, warum LOCK TABLES nicht von einigen Providern vergeben wird, sind: Unwissenheit, daß LOCK TABLES auch pro Datenbank und pro Benutzer vergeben werden kann oder einfach "Faulheit".
Sicherheitsluecke weiss ich nicht, und ich weiss auch nicht, was Contenido genau mit lock tables macht, aber bei einem von emergences Links (da war ich schon, bevor er den Link gepostet hat, es stand aber nichts von Versionsnr.) steht u.a.:
HINWEIS: LOCK TABLES ist nicht transaktionssicher und schickt automatisch jegliche aktiven Transaktionen ab (Commit), bevor es versucht, die Tabellen zu sperren.
und DAS ist nicht so schoen. Es muss nichts passieren, aber die Moeglichkeit besteht eben.
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Da Contenido keine Transaktionen benutzt, ist das egal (oder anders: Wenn Contenido Transaktionen benutzen würde, braucht man kein LOCK TABLES).
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

timo hat geschrieben:Da Contenido keine Transaktionen benutzt, ist das egal (oder anders: Wenn Contenido Transaktionen benutzen würde, braucht man kein LOCK TABLES).
Ja gut. Aber es bezog sich auch nicht auf Contenido, sondern war eher der Versuch, die Provider zu verstehen, warum sie den Leuten das Recht nicht geben. :)
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

Naja, aber die Argumentation finde ich ein wenig "seltsam". Wenn ich mit meinem Auto losfahre, sollte ich auch vorher die Türen schließen, weil es sonst passieren kann, wenn ich nicht angeschnallt bin, daß ich dann aus dem Auto falle.

Also: LOCK TABLES ist nicht transaktionssicher. Applikationen, die Transaktionen unter MySQL benutzen, werden kein LOCK TABLE benutzen, es sei denn, sie benutzen es ausserhalb von Transaktionen. Denn das hängt ja davon ab, ob jemand das Statement benutzt, und nicht, daß das Recht gegeben ist. Ich verstehe also nach wie vor nicht, wo dabei das Problem liegt.
Gesperrt