Problem:
Ich versuche gerade, mit einem Python-Skript mit Hilfe des Moduls MySQLdb die Zugriffsrechte auf eine Datenbank zu ändern. Nun, das Ergebnis ist, dass er meint, es gäbe einen solchen GRANT nicht (sprich: der Name wird falsch übergeben).
Vorgehen:
Ich habe dieses Problem mit phpMyAdmin nachvollziehen können: Meine Datenbank enthält Unterstriche '_' im Namen, und phpMyAdmin "escaped" sie mit Backslashes '\'.
Bsp:
Code: Alles auswählen
REVOKE ALL PRIVILEGES ON `MY_DB`
Code: Alles auswählen
REVOKE ALL PRIVILEGES ON `MY\_DB`
Code: Alles auswählen
dbname.replace('_', '\_')
Code: Alles auswählen
dbname.replace('_', '\\_')
Code: Alles auswählen
You have an error [...] near '\\_DB' [...]
Fazit:
Ich habe jetzt absolut keine Möglichkeit, diese DB zu benutzen, den Namen ändern darf ich leider nicht.
Was habe ich für Möglichkeiten?