残念ながら、ダッシュが含まれているデータベース名があります。 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;