К сожалению, у меня есть имя базы данных с тире. Как мне предоставить доступ к этой базе данных, когда mysql сообщает об ошибке синтаксиса.
например
GRANT SELECT,INSERT,UPDATE,DELETE ON astpp.* TO 'portal'@'localhost'
IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;
работает, но
GRANT SELECT,INSERT,UPDATE,DELETE ON astpp-eth01.* TO 'portal'@'localhost'
IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;
Не.
Также нет:
GRANT SELECT,INSERT,UPDATE,DELETE ON 'astpp-eth01'.* TO 'portal'@'localhost'
IDENTIFIED BY 'Ab7g12Xh35' WITH GRANT OPTION;
В mysql вы экранируете имена столбцов базы данных с помощью обратного апострофа, если у вас не включен ANSI_QUOTES. Видеть http://dev.mysql.com/doc/refman/5.0/en/identifiers.html.
Попробуйте использовать такую команду.
grant select,insert,update,delete on `astpp-eth01`.* to 'portal'@'localhost' identified by 'Ab7g12Xh35' with grant option;