Gewähren Sie Benutzern Zugriff auf MySQL mit einem Bindestrich im Datenbanknamen

7

Leider habe ich einen Datenbanknamen mit einem Bindestrich. Wie erteile ich Zugriff auf diese Datenbank, wenn MySQL einen Syntaxfehler meldet?

z.B

GRANT SELECT,INSERT,UPDATE,DELETE ON astpp.* TO 'portal'@'localhost'
IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;

funktioniert, aber

GRANT SELECT,INSERT,UPDATE,DELETE ON astpp-eth01.* TO 'portal'@'localhost'
IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;

Nicht.

Auch nicht:

GRANT SELECT,INSERT,UPDATE,DELETE ON 'astpp-eth01'.* TO 'portal'@'localhost'
IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;
Matt
quelle

Antworten:

19

Auf MySQL entziehen Sie Datenbankspaltennamen mit dem Backtick-Zeichen, es sei denn, Sie haben ANSI_QUOTES aktiviert. Siehe http://dev.mysql.com/doc/refman/5.0/en/identifiers.html .

Versuchen Sie es mit einem solchen Befehl.

grant select,insert,update,delete on `astpp-eth01`.* to 'portal'@'localhost' identified by 'Ab7g12Xh35' with grant option;
Zoredache
quelle